使用String.split函數進行字符串分割時須要注意下面兩個事情函數
1.特殊字符做爲分隔符時須要使用\\進行轉義(好比使用\\做爲分隔符的話,則轉義爲\\\\)spa
.$|()[{^?*+\\
好比這裏對|分隔符字符串進行分割code
String str = "a|b|c"; String[] strArr = str.split("\\|"); System.out.println(strArr.length); //這裏輸出3
for (int i = 0; i < strArr.length; ++i){ System.out.println(strArr[i]);//這裏輸出a b c
}
2.注意對最後空字符的處理(一般有些狀況在最後數據爲空的時候只保留了個分隔符,若是不作處理的話,數據分割後的個數會偏離預期)blog
String str = "a|b|c|"; //注意這裏在最後多了一個|分隔符
String[] strArr = str.split("\\|"); System.out.println(strArr.length); //這裏輸出3
for (int i = 0; i < strArr.length; ++i){ System.out.println(strArr[i]);//這裏輸出a b c
}
若是你須要保留最後一個空字符的數據,則須要將split的第二個參數設置爲-1字符串
String str = "a|b|c|";//注意這裏在最後多了一個|分隔符
String[] strArr = str.split("\\|",-1);//這裏將第二個參數設置爲-1
System.out.println(strArr.length); //這裏輸出4
for (int i = 0; i < strArr.length; ++i){ System.out.println(strArr[i]);//這裏輸出a b c 空字符串
}
以上。it