public String[] split(String regex, int limit){
}
- 如果表达式不匹配输入的任何内容,返回的数组只具有一个元素,即此字符串。(尤其注意空字符串这种情况,仍然是一个字符串)
- 可以匹配的情况下,每一个字符串都由另一个匹配给定表达式的子字符串终止,或者由此字符串末尾终止(数组中的字符串按照他们在此字符串出现的顺序排列)
- limit:该参数用于控制模式匹配使用的次数,可以影响到数组的长度
-
limit > 0:模式匹配将被最多应用n-1次,数组的长度将不会大于n,数组的最后一项将包含所有超出最后匹配的定界符的输入。
-
limit < 0:模式匹配将应用尽可能多的次数,而且数组的长度是任何长度。(头部和尾部的逗号都没有被忽略)
-
lilmit = 0:模式匹配将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。(默认参数)
String string = ".1.1.2.3.";
String[] strings = string.split("\\.", 0);
for (String s : strings) {
System.out.println(s);
}
System.out.println("split finished");
Output:
1
1
2
3
split finished
String[] strings = string.split("\\.", -1);
Output:
1
1
2
3
split finished
String[] strings = string.split("\\.", 3);
Output:
1
1.2.3.
split finished