问题
使用Java以竖线|
为分隔符做字符串的分割时,出现字符串分割结果不对情况。
String str = "123|456";
String[] results = str.split("|");
System.out.println(Arrays.toString(results));
// 输出:,1,2,3,|,4,5,6
环境
- windows 10
- JDK 8
原因
|
应该是特殊字符,作为分割符时出现异常情况,类似字符还有+
、*
解决
使用转义字符
// 使用转义字符 \\
String[] results = str.split("\\|");
使用中括号
String[] results = str.split("[|]");