Java 中的 StringUtils
Mohammad Irfan
2023年10月12日
本教程介紹什麼是 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