public class test {
public static void main(String[] args) {
String a = "AA|23.2";
System.out.println(a.split("|").length);
}
}
打印结果是8,费解?
帮忙解答下!
public class test {
public static void main(String[] args) {
String a = "AA|23.2";
System.out.println(a.split("|").length);
}
}
打印结果是8,费解?
帮忙解答下!
首先split方法使用的参数是一个正则表达式,split(String regex) 。而|字符对于正则表达式本身就是一个特殊字符,表示选择关系,如a|b表示a或者b,所以需要使用|进行转义,而在java语言中又是使用\表示\,所以最后就需要使用\|了,如果只是使用split("|"),则该|不会匹配上面AA|23.2任意一个字符,因此会输出
A
A
|
2
3
.
2
的形式,第一个是空格。