Java字符串如何替换";用\";为了逃避JSON?
我试图用Java中的Java字符串如何替换";用\";为了逃避JSON?,java,regex,replace,escaping,Java,Regex,Replace,Escaping,我试图用Java中的\“替换”,但是所有的斜杠都变得非常混乱。在Java中用\“替换”的正确方法是什么 string.replaceAll("\"","\\""); 让我们解释一下: “\”:是带有\“转义的”字符的字符串 “\\\”:是一个包含\转义\字符和\“转义”字符的字符串,如果要替换文本,则不要使用replaceAll而是replace 原因是,replaceAll使用正则表达式语法,这意味着一些字符将被特殊处理为+*()),要使它们成为文字,需要对它们进行转义替换自动为您添加转义机
\“
替换”
,但是所有的斜杠都变得非常混乱。在Java中用\“
替换”
的正确方法是什么
string.replaceAll("\"","\\"");
让我们解释一下:
“\”
:是带有\“
转义的”
字符的字符串
“\\\”
:是一个包含\
转义\
字符和\“
转义”
字符的字符串,如果要替换文本,则不要使用replaceAll
而是replace
原因是,replaceAll
使用正则表达式语法,这意味着一些字符将被特殊处理为+
*
(
)
),要使它们成为文字,需要对它们进行转义<代码>替换
自动为您添加转义机制,因此
replaceAll("\"", "\\\\\"")
你可以写
replace("\"", "\\\"");
这就不那么令人困惑了 尝试使用字符:
public void bsp(){
//34 = " ; 92 = \
String replace = "\"";
String replace2 = "\\";
text.replace(replace.charAt(0),replace2.charAt(0));
}
string.replaceAll(“\”,“\”)代码>为什么不使用JSON库呢?不要重新发明轮子,可能很糟糕。。。(这不是对你的编码能力的判断——只是,除非你的主要任务是构建JSON库,否则你不可能像那些主要任务是构建JSON库的人那样出色地完成这项工作。)另请参见:这将不起作用<代码>\
也是替换部分中的特殊字符,因此您也需要在那里转义它(就像在正则表达式中一样)。这是windows特有的吗?@Arun否,此代码在所有操作系统中的行为都应该相同。您应该先尝试此方法,然后再将其作为答案发布(提示:char
也可以被视为整数)。
public void bsp(){
//34 = " ; 92 = \
String replace = "\"";
String replace2 = "\\";
text.replace(replace.charAt(0),replace2.charAt(0));
}