Java 中的 StringUtils

Mohammad Irfan 2022年5月1日
Java 中的 StringUtils

本教程介紹什麼是 StringUtils 以及如何在 Java 中使用它來處理字串。

StringUtils 是一個用於處理 String 的類,它提供了比 Java String 類更多的實用方法。該類不屬於 Java 包;相反,它屬於 Apache Commons Library

要在你的包中使用這個類,你必須首先在你的專案中包含它的 JAR 檔案,然後在你的 Java 原始碼中匯入 StringUtils 類。

如果你正在使用 maven 專案,請在 pom.xml 檔案中使用以下依賴項。它會將所需的 JAR 新增到你當前的專案中。

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

這個類可以在 org.apache.commons.lang3 包中找到,這個類的簽名如下所示。

StringUtils 類的語法:

public class StringUtils extends Object

StringUtils 類的建構函式:

StringUtils() // no arg constructor

以下是 StringUtils 支援的一些常見操作。

操作 說明
IsEmpty/IsBlank 它檢查字串是否包含文字。
Trim/Strip 它刪除字串的前導和尾隨空格。
Equals/Compare 它以空安全的方式比較兩個字串。
startsWith 它檢查字串是否以空安全方式以字首開頭。
endsWith 它檢查字串是否以空安全方式以字尾結尾。
IndexOf/LastIndexOf/Contains 它返回一個空安全的檢查索引。
IndexOfAny/LastIndexOfAny/IndexOfAnyBut/LastIndexOfAnyBut 查詢任何一組字串的索引。
ContainsOnly/ContainsNone/ContainsAny 它檢查字串是否只包含/不包含/任何這些字元
Split/Join 它將字串拆分為子字串陣列,反之亦然。
Remove/Delete 它刪除了字串的一部分。

Java 中的 StringUtils 示例

在本例中,我們使用了 StringUtils 類的一些標準方法來了解該類如何使用 String。此類類似於 Java 中的 String 類,不同之處在於它提供了更多使用 String 的實用方法。

請參見下面的示例。

import org.apache.commons.lang3.StringUtils;

public class SimpleTesting{
	public static void main(String[] args){
		// Get abbreviation of string
		String val  = StringUtils.abbreviate("Delft", 4);
		System.out.println(val);
		// Capitalize string
		val  = StringUtils.capitalize("delft");
		System.out.println(val);
		// Chop string
		val  = StringUtils.chop("delft");
		System.out.println(val);
		// Compare two strings
		int a  = StringUtils.compare(val,val);
		System.out.println(a);
		// find substring in string
		boolean b  = StringUtils.contains("delft", "ft");
		System.out.println(b);
		// Find index of a char in string
		int c  = StringUtils.indexOf(val,'f');
		System.out.println(c);
		// Find last index of a char in string
		int d  = StringUtils.lastIndexOf("delftstack",'t');
		System.out.println(d);
		// Lowercase string
		val  = StringUtils.lowerCase("DELFSTACK");
		System.out.println(val);
		// Repeat string
		val  = StringUtils.repeat("DELF", 2);
		System.out.println(val);
		// Reverse string
		val  = StringUtils.reverse("Delft");
		System.out.println(val);
		// Truncate string
		val  = StringUtils.truncate("Delft",2);
		System.out.println(val);
		// Uppercase string
		val  = StringUtils.upperCase("Delft");
		System.out.println(val);
	}
}	

輸出:

D...
Delft
delf
0
true
3
6
delfstack
DELFDELF
tfleD
De
DELFT