项目场景:
String 中 split() 方法正则表达式匹配问题
问题描述:
为什么不转义会将字符串分割为这种形式
Java8代码记录
@Test
public void splitTest(){
String s = "|T|ES|T";
String[] split = s.split("\\|");
System.out.println(Arrays.toString(split));
// [, T, ES, T]
String s2 = "111|2|3|4|5|6|7";
String s3 = "24,56,5756,234,2";
String[] split1 = s2.split("\\|");
System.out.println(Arrays.toString(split1));
// [111, 2, 3, 4, 5, 6, 7]
String[] split2 = s2.split("|");
System.out.println(Arrays.toString(split2));
// [1, 1, 1, |, 2, |, 3, |, 4, |, 5, |, 6, |, 7]
String[] split3 = s3.split("|");
System.out.println(Arrays.toString(split3));
// [2, 4, ,, 5, 6, ,, 5, 7, 5, 6, ,, 2, 3, 4, ,, 2]
String s4 = "12.42.53.6345";
String[] split4= s4.split("\\.");
System.out.println(Arrays.toString(split4));
// [12, 42, 53, 6345]
String[] split5 = s4.split(".");
System.out.println(Arrays.toString(split5));
// []
}
解决方案:
存档,若日后想明白会即刻更新