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

2022-08-31 16:02:52

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

使用Java,我试图使用..

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

生成的字符串不显示所需的更改。O'Reilly的一篇文章规定了使用Apache字符串utils。还有其他方法吗??

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


答案 1

操作方法如下

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

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


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

相反,导致

Hello &quote;world&quote;!

答案 2

那不一定是:

.replaceAll("\"","\\\\\"")

替换字符串中的五个反斜杠。