想使用fileName.split(".")来划分,但发现返回的array竟然为空。
查资料发现,split()传入的是一个正则表达式,而正则中. 是有特殊含义的,所以这里需要用反斜杠\来转义,但java字符串中需要用\\来表示\,所以用
\\. 表示字符 .
然而API indexOf(".")则可以正常使用,里面传入的就是一个普通的字符串,并不是正则表达式。
同样,replaceAll()传入的也是regex
想把“C:\test”; 中\换成空格
String s = “C:\test”;
s.replaceAll("\"," ");
s.replaceAll("\\"," ");
都是错误的
regex中想表示字符\应该用\\,而java一个\的表示是\\,所以应该是
s.replaceAll("\\\\"," ");