使用replaceAll()替换String中的反斜杠’\’
方法使用
// 将与字面目标序列匹配的字符串的每个子字符串替换为指定的字面替换序列.
String replace(CharSequence target, CharSequence replacement)
使用:
@Test
public void testRegexBbckslash() {
String str = "hello\\fanlanv";
// 注意这里会输出 hello\fanlanv 中间只有一个\,第一个\作为转义字符
System.out.println(str);
// 注意 replaceAll需要有个东西来接值,不然没意义
// 需要四个'\'才能匹配一个'\'
str = str.replaceAll("\\\\", "-");
// 输出 hello-fanlanv
System.out.println(str);
}
因为String中的\会作为转义字符存在,所以4个\实际输出会变成2个\,然后2个\作为正则表达式里,最终会匹配1个\
ps:正则表达式是个很强的东西,应该好好学一下, 上面有个bug发现没?目录中的是两个’\’