这里我的字符串看起来像: -
sTest = AAAAA"1111
我想将双引号替换为后区斜线和双引号(\"
)
我需要String Like
sTest = AAAAA\"1111
答案 0 :(得分:3)
String escaped = "AAAAA\"1111".replace("\"", "\\\"");
String.replace
(请注意,replaceAll
版本处理正则表达式,对于这种特殊情况来说是一种过度杀伤。)
答案 1 :(得分:2)
string.replace("\"", "\\\"")
您想要将"
替换为\"
。由于"
和\
都具有特定含义,因此您必须在每个\
之前添加前面的"
来正确转义它们。
所以\"
- > \"
和\\\"
- > "
。
并且由于您希望编译器理解这是一个String,您需要用双引号封装每个字符串So \"
- > "\""
和"\\\""
- > {{1}}。
答案 2 :(得分:1)
虽然其他答案对于给出的单一情况是正确的,但对于更复杂的情况,您可能希望使用来自Apache Commons Lang的StringEscapeUtils.escapeJava(String)。
String escaped = StringEscapeUtils.escapeJava(string);
答案 3 :(得分:0)
System.out.println("AAAAA\"1111".replaceAll("\"", "\\\\\""));