替换字符串中的所有双引号


问题内容

我正在从数据库中检索数据,其中该字段包含带有HTML数据的字符串。我想替换所有的双引号,使得它可以被用于parseJSONjQuery的

使用Java,我正在尝试使用替换引号。

details.replaceAll("\"","\\\"");
  //details.replaceAll("\"","&quote;"); details.replaceAll("\"","&#34");

结果字符串未显示所需的更改。O’Reilly的一篇文章规定了使用Apache字符串工具。还有其他办法吗?

是否有正则表达式或我可以使用的东西?


问题答案:

这是如何做

String details = "Hello \"world\"!";
details = details.replace("\"","\\\"");
System.out.println(details);               // Hello \"world\"!

请注意,字符串是不可变的,因此仅仅做是不够的details.replace("\"","\\\"")。您必须将变量重新分配details给结果字符串。


使用

details = details.replaceAll("\"","&quote;");

相反,导致

Hello &quote;world&quote;!