一、简述
java.lang.string.split,即split 方法,它实现的功能是将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 格式为:
stringObj.split([separator,[limit]])
1、stringObj是必选项,表示要被分解的 String 对象或文字。
2、separator 为可选项,表示字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
3、limit 为可选项,该值用来限制返回数组中的元素个数。
值得注意的是: split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解,separator 不作为任何数组元素的部分返回。
二、示例
1、separator为正则表达式对象的情况
public class Test {
public static void main(String[] args) {
String str="192.168.2.19";
String[] strarray = str.split(".");
for(int i=0;i<strarray.length;i++)
System.out.println(strarray[i]);
System.out.println(strarray.length);
}
}
输出结果:
0
原因正则表达式中“.”表示任意字符,所以全没啦!
2、separator末尾不切分
这个是官方示例,我还没弄清原因,只发现了现象,暂时记上
public class Test {
public static void main(String[] args) {
String str="boo:and:foo";
String[] strarray = str.split("o",2);
for(int i=0;i<str1.length;i++)
System.out.println(str1[i]);
System.out.println(str1.length);
}
}
结果:
b
:and:f
3
最后两个o之间并没有空格。