使用String.split函數進行字符串分割時需要注意下面兩個事情
1.特殊字符作為分隔符時需要使用\\進行轉義(比如使用\\作為分隔符的話,則轉義為\\\\)
.$|()[{^?*+\\
比如這里對|分隔符字符串進行分割
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.注意對最后空字符的處理(通常有些情況在最后數據為空的時候只保留了個分隔符,如果不做處理的話,數據分割后的個數會偏離預期)
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 空字符串
}
以上。