java.lang.string.split
split 方法
將一個字符串分割為子字符串,然後將結果作為字符串數組返回。
stringObj.split([separator,[limit]])
stringObj
必選項。要被分解的 String 對象或文字,該對象不會被split方法修改。
separator
可選項。字符串或正則表達式對象,它標識了分隔字符串時使用的是一個還是多個字符。如果忽略該選項,返回包含整個字符串的單一元素數組。
limit
可選項。該值用來限制返回數組中的元素個數(也就是最多分割成幾個數組元素,只有為正數時有影響)
split 方法的結果是一個字符串數組,在 stingObj 中每個出現 separator 的位置都要進行分解。separator不作為任何數組元素的部分返回。
示例1:
String str="Java string split test";
String[] strarray=str.split(" ");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
將輸出:
Java
string
split
test
示例2:
String str="Java string split test";
String[] strarray=str.split(" ",2);//使用limit,最多分割成2個字符串
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
將輸出:
Java
string split test
示例3:
String str="192.168.0.1";
String[] strarray=str.split(".");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
結果是什麼也沒輸出,將split(".")改為split("\\."),將輸出正確結果:
192
168
0
1
/*需要分割的文章*/ String str = "第一句。第二句!第三句:第四句;第五句。"; /*正則表達式:句子結束符*/ String regEx=":|。|!|;"; Pattern p =Pattern.compile(regEx); Matcher m = p.matcher(str);
經驗分享:
1、分隔符為“.”(無輸出),“|”(不能得到正確結果)轉義字符時,“*”,“+”時出錯拋出異常,都必須在前面加必須得加"\\",如split(\\|);
2、如果用"\"作為分隔,就得寫成這樣:String.split("\\\\"),因為在Java中是用"\\"來表示"\"的,字符串得寫成這樣:String Str="a\\b\\c";
?轉義字符,必須得加"\\";
3、如果在一個字符串中有多個分隔符,可以用"|"作為連字符,比如:String str="Java string-split#test",可以用Str.split(" |-|#")把每個字符串分開;