Java中利用正则表达式将字符串中斜杠替换成双斜杠

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("//", "////");

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

还把有 反斜杠 换成 斜杠
String path="aaa//bbb";
path=path.replace("//", "/");

你可能感兴趣的:(Java笔记)