【问题标题】:Java replace " with \"Java 将 " 替换为 \"
【发布时间】:2012-09-30 17:17:32
【问题描述】:

我正在尝试用 \" 替换包含 " 的字符串,下面是我尝试过的程序

    String s="\"/test /string\"";
    s = s.replaceAll("\"", "\\\"");
    System.out.println(s);

但我得到与字符串“/test /string”相同的输出。为什么我的替换功能不起作用。如果我这样做了

   s = s.replaceAll("\"", "\\\\\"");

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

【问题讨论】:

标签: java string replace


【解决方案1】:

您正在使用String.replaceAll,它将正则表达式作为输入,包括替换。如Match.replaceAll() 中所述:

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

您实际上只是在尝试直接替换而不涉及正则表达式,因此请改用String.replace

s = s.replace("\"", "\\\"");

【讨论】:

    猜你喜欢
    • 2015-01-14
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2021-07-31
    • 1970-01-01
    相关资源
    最近更新 更多