替换包含“with \”的字符串?

时间:2014-10-28 12:19:27

标签: java string

如何将包含"的字符串替换为\"

replace(""","\"")对我不起作用。

public static String replaceSpecialCharsForJson(String str){
    return str.replace("'","\'")
              .replace(":","\\:")
              .replace("\"","\"")
              .replace("\r", "\\r")
              .replace("\n", "\\n");
} 

6 个答案:

答案 0 :(得分:5)

您可以尝试:

replace("\"","\\\"")

由于"\都是元字符,您必须使用\

来转义它们

答案 1 :(得分:1)

试试这个:

replace("\"","\\\"");

答案 2 :(得分:1)

作为字符串一部分的每个斜杠都需要进行转义。因此,如果您希望字符串看起来像"\\",则您的代码必须包含String s = "\\\\"。丑陋而真实。

对于可能被解释的任何其他特殊字符也是如此。行情和冒号包括在内。 这意味着" \ " "看起来像" \\ \" "(添加空格以使单独的转义更加明显)

答案 3 :(得分:0)

使用:

str.replace("\"","\\\"")

所以你逃脱了反斜杠。

答案 4 :(得分:0)

你想要

  • 替换" (正确转义:\"
  • \" (正确转义:\\\"

正确的电话是:

replace("\"", "\\\"");

答案 5 :(得分:0)

我试过这种方式。我不知道你的场景有多大帮助

String oldStr = String.valueOf('"');
String newStr = File.separator.concat(String.valueOf('"'));     
System.out.println(oldStr.replace(String.valueOf('"'),newStr));