java的split分隔需要特殊转义收集

众所周知,使用String.split来分隔转化为String[]的时候,一些比如逗号、空格可以直接使用分隔

String s="1,2,3,4,5";
System.out.println(s.split("\\,").length);//5
System.out.println(s.split(",").length);//5
//空格
String s="1 2 3 4 5";
System.out.println(s.split(" ").length);//5
System.out.println(s.split("\\ ").length);// 5

但是英文句号、反斜杠\就不可以了,需要加上\\

//1.应用句号
String s="1.2.3.4.5";
System.out.println(s.split("\\.").length);//5
System.out.println(s.split(".").length);//0
//2.\分隔(注:在java里面需要写为\\)
String s="1\\2\\3\\4\\5";
System.out.println(s.split("\\\\").length);//5
System.out.println(s.split("\\").length);//java.util.regex.PatternSyntaxException: Unexpected internal error near index 1      \

更多的收集中···

注:但是使用indexOf的时候一定不能加上\\,否则找不到

你可能感兴趣的:(split,.,\\)