在本教程中,我們將借助示例了解 Java String split() 方法。
split()
方法在指定的正則表達式處分割字符串並返回一個子字符串數組。
示例
class Main {
public static void main(String[] args) {
String text = "Java is a fun programming language";
// split string from space
String[] result = text.split(" ");
System.out.print("result = ");
for (String str : result) {
System.out.print(str + ", ");
}
}
}
// Output: result = Java, is, a, fun, programming, language,
用法:
用法:
string.split(String regex, int limit)
這裏,string
是String
類的對象。
參數:
字符串 split()
方法可以采用兩個參數:
- regex- 在這個正則表達式中分割字符串(可以是字符串)
- limit(可選)- 控製結果子串的數量
如果未傳遞limit
參數,則split()
返回所有可能的子字符串。
返回:
- 返回子字符串數組
注意:如果正則表達式傳遞給split()
無效,則split()
方法引發PatternSyntaxExpression
異常。
示例 1:split() 無限製參數
// importing Arrays to convert array to string
// used for printing arrays
import java.util.Arrays;
class Main {
public static void main(String[] args) {
String vowels = "a::b::c::d:e";
// splitting the string at "::"
// storing the result in an array of strings
String[] result = vowels.split("::");
// converting array to string and printing it
System.out.println("result = " + Arrays.toString(result));
}
}
輸出
result = [a, b, c, d:e]
在這裏,我們在 ::
處拆分字符串。由於沒有傳遞limit
參數,因此返回的數組包含所有子字符串。
split()帶限製參數
- 如果
limit
參數為 0 或負數,則split()
返回一個包含所有子字符串的數組。 - 如果
limit
參數為正數(比如說n
),則split()
返回n
子字符串的最大值。
示例 2:split() 帶限製參數
// importing Arrays to convert array to string
import java.util.Arrays;
class Main {
public static void main(String[] args) {
String vowels = "a:bc:de:fg:h";
// splitting array at ":"
// limit is -2; array contains all substrings
String[] result = vowels.split(":", -2);
System.out.println("result when limit is -2 = " + Arrays.toString(result));
// limit is 0; array contains all substrings
result = vowels.split(":", 0);
System.out.println("result when limit is 0 = " + Arrays.toString(result));
// limit is 2; array contains a maximum of 2 substrings
result = vowels.split(":", 2);
System.out.println("result when limit is 2 = " + Arrays.toString(result));
// limit is 4; array contains a maximum of 4 substrings
result = vowels.split(":", 4);
System.out.println("result when limit is 4 = " + Arrays.toString(result));
// limit is 10; array contains a maximum of 10 substrings
result = vowels.split(":", 10);
System.out.println("result when limit is 10 = " + Arrays.toString(result));
}
}
輸出
result when limit is -2 = [a, bc, de, fg, h] result when limit is 0 = [a, bc, de, fg, h] result when limit is 2 = [a, bc:de:fg:h] result when limit is 4 = [a, bc, de, fg:h] result when limit is 10 = [a, bc, de, fg, h]
注意: split()方法將正則表達式作為第一個參數。如果您需要使用特殊字符,例如:\
,|
,^
,*
,+
等,您需要轉義這些字符。例如,我們需要使用\\+
分裂在+
.
示例 3:split() 在 + 字符處
// importing Arrays to convert array to string
// used for printing arrays
import java.util.Arrays;
class Main {
public static void main(String[] args) {
String vowels = "a+e+f";
// splitting the string at "+"
String[] result = vowels.split("\\+");
// converting array to string and printing it
System.out.println("result = " + Arrays.toString(result));
}
}
輸出
result = [a, e, f]
在這裏,為了在 +
處拆分字符串,我們使用了 \\+
。這是因為+
是一個特殊字符(在正則表達式中具有特殊含義)。
相關用法
- Java String strip()用法及代碼示例
- Java String substring()用法及代碼示例
- Java String startsWith()用法及代碼示例
- Java String subSequence()用法及代碼示例
- Java String stripTrailing()用法及代碼示例
- Java String stripLeading()用法及代碼示例
- Java String valueOf()用法及代碼示例
- Java String getChars()用法及代碼示例
- Java String replace()用法及代碼示例
- Java String contains()用法及代碼示例
- Java String regionMatches()用法及代碼示例
- Java String copyValueOf()用法及代碼示例
- Java String isEmpty()用法及代碼示例
- Java String toString()用法及代碼示例
- Java String endsWith()用法及代碼示例
- Java String lines()用法及代碼示例
- Java String repeat()用法及代碼示例
- Java String hashCode()用法及代碼示例
- Java String lastIndexOf()用法及代碼示例
- Java String equals()用法及代碼示例
注:本文由純淨天空篩選整理自 Java String split()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。