Java取代"with"

Lol*_*lly 1 java string replace

我试图替换包含"with"的字符串,下面是我试过的程序

    String s="\"/test /string\"";
    s = s.replaceAll("\"", "\\\"");
    System.out.println(s);
Run Code Online (Sandbox Code Playgroud)

但我得到与字符串"/ test/string"相同的输出.为什么我的替换功能不起作用.如果我做

   s = s.replaceAll("\"", "\\\\\"");
Run Code Online (Sandbox Code Playgroud)

然后我得到我想要的输出\"/ test/string \".为什么前一个dint工作,即使在代码中我试图替换"与\"

Jon*_*eet 10

您正在使用String.replaceAll,它将正则表达式作为其输入,包括替换.作为记录在Match.replaceAll():

请注意,替换字符串中的反斜杠(\)和美元符号($)可能会导致结果与将其视为文字替换字符串时的结果不同.

你真的只是试图直接替换没有涉及正则表达式,所以使用String.replace:

s = s.replace("\"", "\\\"");
Run Code Online (Sandbox Code Playgroud)