標籤:
Java中的 split 函數是用於按指定字元(串)或正則去分割某個字串,結果以字串數組形式返回;
例如:
String str="[email protected]";
String[] a = str.split("@");
System.out.println("處理結果: "+a[0]+","+a[1]); //輸出的是: 處理結果: 1234,abc
對於分割的字元(串),通常是常見,普通的,沒什麼問題;
但是對某些特殊字元,如果字元(串)正好是正則的一部分,則需要轉義才能使用,
這些字元有 | , + , * , ^ , $ , / , | , [ , ] , ( , ) , - , . , \等, 因它們是Regex中的一部分, 所以如果想用該字元本身, 這些字元需要進行轉義才能表示它本身;
例如:
想用 | 豎線去分割某字元,因 | 本身是Regex中的一部分,所以需要 \ 去轉義,因轉義使用 \, 而這個 \ 正好也是Regex的字元,所以還得用一個 \ , 所以需要兩個 \\。
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("|"); //注意直接使用|,該字元是Regex的一部分,
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
Java中的split函數的用法