一、簡述
java.lang.string.split,即split 方法,它實(shí)現(xiàn)的功能是將一個字符串分割為子字符串诡必,然后將結(jié)果作為字符串?dāng)?shù)組返回。 格式為:
stringObj.split([separator搔扁,[limit]])
1爸舒、stringObj是必選項(xiàng),表示要被分解的 String 對象或文字稿蹲。
2扭勉、separator 為可選項(xiàng),表示字符串或正則表達(dá)式對象苛聘,它標(biāo)識了分隔字符串時使用的是一個還是多個字符剖效。如果忽略該選項(xiàng)嫉入,返回包含整個字符串的單一元素數(shù)組。
3璧尸、limit 為可選項(xiàng)咒林,該值用來限制返回數(shù)組中的元素個數(shù)。
值得注意的是: split 方法的結(jié)果是一個字符串?dāng)?shù)組爷光,在 stingObj 中每個出現(xiàn) separator 的位置都要進(jìn)行分解垫竞,separator 不作為任何數(shù)組元素的部分返回。
二蛀序、示例
1欢瞪、separator為正則表達(dá)式對象的情況
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);
}
}
輸出結(jié)果:
0
原因正則表達(dá)式中“.”表示任意字符,所以全沒啦徐裸!
2遣鼓、separator末尾不切分
這個是官方示例,我還沒弄清原因重贺,只發(fā)現(xiàn)了現(xiàn)象骑祟,暫時記上
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);
}
}
結(jié)果:
b
:and:f
3
最后兩個o之間并沒有空格。