替换所有方法

时间:2014-04-09 15:23:33

标签: java regex replaceall

我想替换" \"用这个" /"在我的字符串中。 我正在使用方法replaceAll。但它给了我错误。

String filePath = "D:\pbx_u01\apache-tomcat-6.0.32\bin\uploadFiles\win.jpg";
String my_new_str = filePath.replaceAll("\\", "//");

3 个答案:

答案 0 :(得分:2)

只需使用replace即可。

方法replaceAll采用正则表达式,而你的方法会出错。

String filePath = "D:/pbx_u01/apache-tomcat-6.0.32/bin/uploadFiles/win.jpg";
System.out.println(filePath.replace("/", "\\"));

<强>输出

D:\pbx_u01\apache-tomcat-6.0.32\bin\uploadFiles\win.jpg

答案 1 :(得分:1)

当你绝对想要使用正则表达式时,请使用:

String filePath   = "D:\\pbx_u01\\apache-tomcat-6.0.32\\bin\\uploadFiles\\win.jpg";
String my_new_str = filePath.replaceAll("\\\\", "/");

my_new_str的输出为:

D:/pbx_u01/apache-tomcat-6.0.32/bin/uploadFiles/win.jpg

请务必注意来源\\中的反斜杠String(您使用的是一个\问题。)


Mena在他的回答中表明了一种更简单,更易读的方法来实现同样的目标。 (只需采用斜杠和反斜杠)

答案 2 :(得分:0)

无法,因为字符&#39; //&#39; 只能输入一个&#39; /&#39; < /强>

String filePath = "D:\\pbx_u01\\apache-tomcat-6.0.32\\bin\\uploadFiles\\win.jpg"
String my_new_str = filePath.replaceAll("\\", "/");

上面可能在执行过程中失败,给你一个 PatternSyntaxException ,因为第一个String是一个正则表达式,所以你使用它,

String filePath = "D:\\pbx_u01\\apache-tomcat-6.0.32\\bin\\uploadFiles\\win.jpg"
String my_new_str = filePath.replaceAll("\\\\", "/");

检查此 Demo ideOne