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);