在java中,对于反斜杠 " " 有特定的含义。要想使用replaceAll把反斜杠替换成空字符串,需要使用四个反斜杠 " \\ "。
原因是反斜杠是转义字符,在regex中"\"表示一个"",在java中一个""也要用"\"表示。因此,前一个"\"代表regex中的"",后一个"\"代表java中的""。说明原因后且看下面的示例:
1.把反斜杠替换成空字符串
String s="C:盘";
对于上述字符串的定义,看似没有问题,但编译器会报错。需要再加一个反斜杠,如下:
String s="C:\盘";
那么如何把上述的字符串的反斜杠去掉呢?使用replaceAll方法即可:
s.replaceAll("\\","");
2.把指定的字符串替换为反斜杠
同理当需要把指定的字符串替换为反斜杠时,也需要使用四个反斜杠。
String str="hhhhh'123jjjd' hello ' word jjj'";
在上面的字符串中所有单引号后面都添加一个反斜杠:
str.replaceAll("'","'\\");
总而言之,使用四个反斜杠作为反斜杠即可!