java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠
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("\\", "\\\\");
就会报正则表达式的错误。
------解决方案--------------------呵呵!没办法
------解决方案--------------------哦 ,我明白了,以前我老想不明白,郁闷着>..........
------解决方案--------------------吐血,这规则也太抽了吧.
谢谢楼主分享.
------解决方案--------------------嘿嘿,谁让“\”在Java和正则表达式中都是转义字符呢?
------解决方案--------------------恩,了解了,呵呵 ,谢谢啦