20

我有值为 as 的字符串变量 strVar ,' "value1" '我想用 . 替换值中的所有双引号' \" '。所以重置后的价值看起来像' \"value1\" '

如何在java中做到这一点?请帮助我。

4

6 回答 6

52

你正在寻找

str = str.replace("\"", "\\\"")

演示

我会避免使用replaceAll,因为它在描述要替换的内容和如何替换时使用正则表达式语法,这意味着\必须在字符串中转义,"\\"而且在正则表达式中\\(需要写为"\\\\"字符串),这意味着我们需要使用

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

或者可能更清洁:

str = str.replaceAll("\"", Matcher.quoteReplacement("\\\""))

随着replace我们自动添加转义机制。

于 2013-10-10T15:22:23.623 回答
9

实际上是: strVar.replaceAll("\"", "\\\\\"");

于 2013-10-10T15:24:50.823 回答
5

例如取一个具有这样结构的字符串--->>>

String obj = "hello"How are"you";

并且你想用空白值替换所有双引号,或者换句话说,如果你想修剪所有双引号。

就这样做,

String new_obj= obj.replaceAll("\"", "");
于 2014-12-30T06:30:13.520 回答
0

替换双引号

str=change condition to"or"      

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

替换后:将条件更改为“或”

替换单引号

str=change condition to'or'      

str=str.replace("\'", "\\'");

替换后:将条件更改为\'或\'

于 2014-03-26T08:33:53.693 回答
0

这应该给你你想要的;

System.out.println("'\\\" value1 \\\"'");
于 2013-10-10T15:33:58.367 回答
0

字符串用双引号格式化。你所拥有的是单引号,用于chars。你想要的是这样的:

String foo = " \"bar\" ";

于 2013-10-10T15:24:23.590 回答