java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠


例如  str1="aa\bbb"; str2="aa'bbb"; 


要想替换成 str1="aa\\bbb";str2="aa\'bbb";


必须这样替换:


             str1 = str1.replaceAll("\\\\", "\\\\\\\\");

             str2 = str2.replaceAll("'", "\\\\'");


原因如下:


String 的 replaceAll() 方法,实际是采用正则表达式的规则去匹配的,


\\\\   ,java解析为\\交给正则表达式,   正则表达式再经过一次转换,把\\转换成为\ 


也就是java里面要用正则来表示一个\. 必须写成4个\ 


如果要表示\\,那就要写8个\



所以如果写成: str1 = str1.replaceAll("\\", "\\\\");


就会报正则表达式的错误。