Java 替换双引号(";)

Java 替换双引号(";),java,string,Java,String,这里我的字符串看起来像:- sTest = AAAAA"1111 我想将双引号替换为反斜杠和双引号(\“) 我需要像这样的绳子 sTest = AAAAA\"1111 string。替换(“\”,“\ \ \”) 您想将“替换为\”。由于“和\都有特定的含义,因此必须通过在每一个前面添加一个\来正确地转义它们 所以“-->\”和\”-->\\”。 由于您希望编译器理解这是一个字符串,因此需要用双引号将每个字符串括起来,以便“-->-->”和“\”-->” 空气污染指数文件 (请注意,re

这里我的字符串看起来像:-

sTest = AAAAA"1111
我想将双引号替换为反斜杠和双引号(
\“

我需要像这样的绳子

sTest = AAAAA\"1111
string。替换(“\”,“\ \ \”)

您想将
替换为
\”
。由于
\
都有特定的含义,因此必须通过在每一个前面添加一个
\
来正确地转义它们

所以
-->
\”
\”
-->
\\”
。 由于您希望编译器理解这是一个字符串,因此需要用双引号将每个字符串括起来,以便
-->-->”和
“\”
-->”

  • 空气污染指数文件

(请注意,
replaceAll
版本处理正则表达式,对于这种特殊情况来说是一种过度使用。)

尽管其他答案对于给定的单一情况是正确的,但对于更复杂的情况,您可能希望使用Apache Commons Lang

String escaped = StringEscapeUtils.escapeJava(string);

感谢Ronk的建议。当您想用\替换“时,您还想用\”替换所有其他\。因此答案可能是:
string.replaceAll(([\\\\\\\\\\\\\\'],“\\\\\$1”)
(如果$1是正则表达式中匹配的字符串,则用\\$1替换\和“替换”)。
String escaped = "AAAAA\"1111".replace("\"", "\\\"");
String escaped = StringEscapeUtils.escapeJava(string);