字符串左斜杠替换成右斜杠

在做项目过程中 需要将一个字符串中的左斜杠全部替换成右斜杠 以为很简单的操作但是总是报错。

String filePath = "/wzk/01/20021.jpg";

开始 调用 replaceAll();方法以为就能替换的 代码如下:

filePath = filePath.replaceAll("/","\\");

但程序总是报错。

最后在网上搜了一下,才明白。下面 摘自网络:

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

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

你可能感兴趣的:(字符串)