Java string 如何将" 替换为\" 以转义JSON?
Java string how to replace " with \" to escape JSON?
我正在尝试将 "
替换为 Java 中的 \"
,但所有的斜线都变得非常混乱。在 Java 中用 \"
替换 "
的正确方法是什么?
string.replaceAll("\"","\"");
string.replaceAll("\"", "\\"");
让我们解释一下:
"\""
:是一个带有 \"
转义 "
字符的字符串
"\\""
:是一个带有 \
转义 \
字符和 \"
转义 "
字符
的字符串
如果您要替换文字,请不要使用 replaceAll
,而应使用 replace
。
原因是 replaceAll
使用正则表达式语法,这意味着某些字符将被特殊对待,例如 +
*
\
(
)
并使它们成为文字,您需要对它们进行转义。 replace
自动为你添加转义机制,所以不用
replaceAll("\"", "\\\"")
你可以写
replace("\"", "\\"");
这有点不那么令人困惑了。
尝试使用字符:
public void bsp(){
//34 = " ; 92 = \
String replace = "\"";
String replace2 = "\";
text.replace(replace.charAt(0),replace2.charAt(0));
}
我正在尝试将 "
替换为 Java 中的 \"
,但所有的斜线都变得非常混乱。在 Java 中用 \"
替换 "
的正确方法是什么?
string.replaceAll("\"","\"");
string.replaceAll("\"", "\\"");
让我们解释一下:
"\""
:是一个带有 \"
转义 "
字符的字符串
"\\""
:是一个带有 \
转义 \
字符和 \"
转义 "
字符
如果您要替换文字,请不要使用 replaceAll
,而应使用 replace
。
原因是 replaceAll
使用正则表达式语法,这意味着某些字符将被特殊对待,例如 +
*
\
(
)
并使它们成为文字,您需要对它们进行转义。 replace
自动为你添加转义机制,所以不用
replaceAll("\"", "\\\"")
你可以写
replace("\"", "\\"");
这有点不那么令人困惑了。
尝试使用字符:
public void bsp(){
//34 = " ; 92 = \
String replace = "\"";
String replace2 = "\";
text.replace(replace.charAt(0),replace2.charAt(0));
}