2

为什么以下不起作用:

      String test = "hello\"world".replaceAll("\"", "\\\"");
      System.out.println(test);

我想要做的是"\".

所以我想得到输出:

hello\"world
4

3 回答 3

6

为此,正则表达式是矫枉过正的。

myString.replace("\"", "\\\"")

应该做得很好,并且对于熟悉核心库的人来说更具可读性。

replace方法只是用另一个子字符串替换一个子字符串。

用指定的文字替换序列替换此字符串中与文字目标序列匹配的每个子字符串。替换从字符串的开头到结尾进行,例如,在字符串中"aa"替换将导致而不是。"b""aaa""ba""ab"

于 2012-07-10T16:37:16.487 回答
0
String test = "hello\"world".replaceAll("\"", "\\\\\"");
System.out.println(test);
于 2012-07-10T16:37:11.587 回答
0

您还需要两个\\来转义转义字符,总共需要 5\秒。

\\- 转义转义字符

\\- 显示字符

\- 逃避报价。

尝试:

String test = "hello\"world".replaceAll("\"", "\\\\\"");
于 2012-07-10T16:37:52.023 回答