java中字符串中有一个 '\' 字符,如何把他替换成 '/' 求解答,谢谢

如题所述

如何将字符串中的"\"替换成"\\":
String msgIn;
String msgOut;
msgOut=msgIn.replaceAll("\\\\","\\\\\\\\");
原因:
'\'在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println( "\\" ) ;只打印出一个"\"。但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式转换成\。
同样
CODE: \\\\\\\\
Java: \\\\
Regex: \\

将字符串中的'/'替换成'\'的几种方式:
msgOut= msgIn.replaceAll("/", "\\\\");
msgOut= msgIn.replace("/", "\\");
msgOut= msgIn.replace('/', '\\');

将字符串中的'\'替换成'/'的几种方式:
msgOut= msgIn.replaceAll("\\\\","/");
msgOut= msgIn.replace("\\","/");
msgOut= msgIn.replace('\\','/');
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-20
这个需要进行双重转义,'\' 在正则中也是特殊字符。
System.out.println("\\".replaceAll("\\\\", "/"));
第2个回答  2014-10-20
\是转义字符,所有特殊字符基本都是在之前加个\
所以要用“\\”来表示“\”
string.replaceAll("\\","/");
第3个回答  2014-10-20
aa.replaceAll("\\","/");追问

java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^
报错了这个我试过

追答

aa.replaceAll("\\\\","/");

第4个回答  2014-10-20
String s="\";
s = s.replaceAll("\\","/")追问

报错
java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^

追答

String s= "abc\\";

s = s.replaceAll("\\\\","/");
变通一下

相似回答