用字符串中的其他特殊字符替换特殊字符

时间:2012-03-01 07:53:05

标签: java

我想在字符串中用“\”替换一个特殊字符。 我试过str = str.replaceAll(“\”“,”\\\“); 但这不起作用。

3 个答案:

答案 0 :(得分:2)

第二个参数中缺少结束引号。改为:

str = str.replaceAll("\"","\\\\\"");

另见this example

答案 1 :(得分:0)

你必须通过加倍来逃避\:\\

代码示例:

String tt = "\\\\terte\\";
System.out.println(tt);
System.out.println(tt.replaceAll("\\\\", "|"));

这给出了以下输出:

\\terte\
||terte|

答案 2 :(得分:0)

String.replaceAll() API

  

替换此字符串中与给定常规匹配的每个子字符串   表达式与给定的替代。

     

调用str.replaceAll形式的此方法(regex,repl)   得到与表达式

完全相同的结果
Pattern.compile(regex).matcher(str).replaceAll(repl)
     

请注意替换中的反斜杠()和美元符号($)   字符串可能会导致结果与正确的结果不同   被视为字面替换字符串;见Matcher.replaceAll。使用   Matcher.quoteReplacement(java.lang.String)压制特殊   如果需要,这些字符的含义。

Btw, it is duplicated question.