將一個字符串分割爲子字符串,然後將結果作爲字符串數組返回。
stringObj.split([separator,[limit]])
參數
stringObj
必選項。要被分解的 String 對象或文字。該對象不會被 split 方法修改。
separator
可選項。字符串或 正則表達式 對象,它標識了分隔字符串時使用的是一個還是多個字符。如果忽
略該選項,返回包含整個字符串的單一元素數組。
limit
可選項。該值用來限制返回數組中的元素個數。
說明
split 方法的結果是一個字符串數組,在 stingObj 中每個出現 separator 的位置都要進行分解
。separator 不作爲任何數組元素的部分返回。
示例1:
public class SplitDemo {
public static String[] ss=new String[20];
public SplitDemo() {
String s = "The rain in Spain falls mainly in the plain.";
// 在每個空格字符處進行分解。
ss = s.split(" ");
}
public static void main(String[] args) {
SplitDemo demo=new SplitDemo();
for(int i=0;i<ss.length;i++)
System.out.println(ss[i]);
}
}
public static void main(string[] args) {
string value = "192.168.128.33";
string[] names = value.split(".");
for (int i = 0; i < names.length; i++) {
system.out.println(names[i]);
}
}
運行結果:
對,沒看錯!沒有任何輸出!
讓我們來看看 split 方法的方法簽名吧:
public string[] split(string regex)
這裏的參數的名稱是 regex ,也就是 regular expression (正則表達式)。這個參數並不是一個簡單的分割用的字符,而是一個正則表達式
,看了 split 方法的實現代碼就更堅定了我們的信心:
public string[] split(string regex, int limit) {
return pattern.compile(regex).split(this, limit);
}
split 的實現直接調用的 matcher 類的 split 的方法。讀者已經知道,“ . ”在正則表達式中有特殊的含義,因此我們使用的時候必須進行轉義。
public static void main(string[] args) {
string value = "192.168.128.33";
string[] names = value.split("//.");
for (int i = 0; i < names.length; i++) {
system.out.println(names[i]);
}
}
輸出結果:
192
168
128
33