java.lang.string.split
split 方法
將一個字符串分割為子字符串,然后將結果作為字符串數組返回。
stringObj.split([separator,[limit]])
參數
stringObj
必選項。要被分解的 String 對象或文字。該對象不會被 split 方法修改。
separator
可選項。字符串或 正則表達式對象,它標識了分隔字符串時使用的是一個還是多個字符。如果忽略該選項,返回包含整個字符串的單一元素數組。
limit
可選項。該值用來限制返回數組中的元素個數。
說明
split 方法的結果是一個字符串數組,在 stingObj 中每個出現 separator 的位置都要進行分解
以下代碼:
public static void main(String args[]){
String ipstring="59.64.159.224";
String iparray[]=ipstring.split("\\."); //只能寫split("\\.")。。不能寫split(".") 注釋[1]
for(String stemp:iparray){
System.out.println(stemp);
}
}
注釋[1]:
因為 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 String[] split(String regex,int limit)根據匹配給定的正則表達式來拆分此字符串。
此方法返回的數組包含此字符串的每個子字符串,這些子字符串由另一個匹配給定的表達式的子字符串終止或由字符串結束來終止。數組中的子字符串按它們在此字符串中的順序排列。如果表達式不匹配輸入的任何部分,則結果數組只具有一個元素,即此字符串。
limit 參數控制模式應用的次數,因此影響結果數組的長度。如果該限制 n 大於 0,則模式將被最多應用 n - 1 次,數組的長度將不會大於 n,而且數組的最后項將包含超出最后匹配的定界符的所有輸入。如果 n 為非正,則模式將被應用盡可能多的次數,而且數組可以是任意長度。如果 n 為零,則模式將被應用盡可能多的次數,數組可有任何長度,並且結尾空字符串將被丟棄。