在Java中,如何用空格替换双引号?

在Java中,如何用空格替换双引号?,java,replace,quotes,regex,Java,Replace,Quotes,Regex,例如: "I don't like these "double" quotes" System.out.println("I don't like these \"double\" quotes".replace("\"", "")); 我希望输出是 I don't like these double quotes 您可以这样做: string tmp = "Hello 'World'"; tmp.replace("'", ""); 但这只会取代单引号。要替换双引号,必须首先对其进行转义

例如:

"I don't like these "double" quotes"
System.out.println("I don't like these \"double\" quotes".replace("\"", ""));
我希望输出是

I don't like these double quotes

您可以这样做:

string tmp = "Hello 'World'";
tmp.replace("'", "");
但这只会取代单引号。要替换双引号,必须首先对其进行转义,如下所示:

string tmp = "Hello, \"World\"";
tmp.replace("\"", "");

您可以将其替换为空格,也可以将其保留为空(我相信您希望将其保留为空,但您的问题标题暗示了另一种情况。

您不需要正则表达式。只需逐个字符替换即可。您可以使用它

String replaced = original.replace("\"", " ");
请注意,您也可以使用空字符串
替换为。否则空格将加倍

String replaced = original.replace("\"", "");
使用

要将其替换为空格(根据您的问题标题):

也可以使用字符执行上述操作:

System.out.println("I don't like these \"double\" quotes".replace('"', ' '));
要删除它们(根据您的示例):


字符串是不可变的,所以您需要说

sInputString = sInputString("\"","");

我同意,不仅仅是在
=

的右边,RegEx的杀伤力太大了。正如OP在这里提出的新问题所表明的,这实际上是一个更大(而且麻烦)的RegEx片段的一部分。但是,是的,对于这个特定的查找和替换片段,RegEx确实是一个杀伤力太大的片段。
sInputString = sInputString("\"","");