关于java String split

java String split 处理问题


public static void main(String args[]){
String s="a.txt";
String a[]=s.split(".");
System.out.println(a.length);
}
输出结果为0 不是2吗?

最佳答案

.在正则表达式里面是特殊字符,可以查看API Pattern

预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)

对于特殊字符,必须用\进行转义,

所以正确的分解为:String s="a.txt";
String a[]=s.split("\\.");-->第一个\是java本身对第二个\得转义,第二个\是对后面的.进行正则转义。

这样结果就为2了

你可能感兴趣的:(java,正则表达式)