j2se-String.spilt,或("|")分隔符问题
public class TestSpilt {public static void main(String[] args) {String str="a|b";String[] array=str.split("|");array(array);array=str.split("\\|");array(array);}public static void array(String[] array){System.out.println("------");for(String a:array){System.out.println(a);}System.out.println("------");}}?
结果
------a|b------------ab------
?
第一个array长度是4
第二个array长度是2
?
对于正在表达式“|”是表示或的意思,属于特殊字符。如果要根据“|”分割的话需要转义变成“\|”,由于java字符串中“\”也是需要转义的,所以最后变成了“\\|”;