如何将包含"
的字符串替换为\"
?
replace(""","\"")
对我不起作用。
public static String replaceSpecialCharsForJson(String str){
return str.replace("'","\'")
.replace(":","\\:")
.replace("\"","\"")
.replace("\r", "\\r")
.replace("\n", "\\n");
}
答案 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));