Java中的 split 函數是用於按指定字符(串)或正則去分割某個字符串,結果以字符串數組形式返回;
例如:
String str="1234@abc";
String[] a = str.split("@");
System.out.println("處理結果: "+a[0]+","+a[1]); //輸出的是: 處理結果: 1234,abc
對於分割的字符(串),一般是常見,普通的,沒什麼問題;
可是對某些特殊字符,若是字符(串)正好是正則的一部分,則須要轉義才能使用,
這些字符有 | , + , * , ^ , $ , / , | , [ , ] , ( , ) , - , . , \等, 因它們是正則表達式中的一部分, 因此若是想用該字符自己, 這些字符須要進行轉義才能表示它自己;
例如:
想用 | 豎線去分割某字符,因 | 自己是正則表達式中的一部分,因此須要 \ 去轉義,因轉義使用 \, 而這個 \ 正好也是正則表達式的字符,因此還得用一個 \ , 因此須要兩個 \\。
String str="5678|XYZ";
String[] b = str.split("\\|"); //注意這裏用兩個 \\,而不是一個\
System.out.println("處理結果: "+b[0]+","+b[1]); //輸出的是: 處理結果: 5678,XYZ
再來看看:
String str="5678|XYZ";
String[] b = str.split("|"); //注意直接使用|,該字符是正則表達式的一部分,
String x="處理結果: ";
for(int i=0;i<b.length;i++){
x=x+b[i]+",";
}
System.out.println(x); //輸出的是: 處理結果: 5,6,7,8,|,X,Y,Z,
Java示例代碼:http://www.eyesourcecode.com/f/JavaSourceCode/1正則表達式