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

Posted

技术标签:

【中文标题】如何在 Java 中用空格替换双引号?【英文标题】:How do you replace double quotes with a blank space in Java? 【发布时间】:2011-01-22 13:06:26 【问题描述】:

例如:

"I don't like these "double" quotes"

我希望输出是

I don't like these double quotes

【问题讨论】:

【参考方案1】:

使用String#replace()

用空格替换它们(根据您的问题标题):

System.out.println("I don't like these \"double\" quotes".replace("\"", " "));

上面的也可以用字符来完成:

System.out.println("I don't like these \"double\" quotes".replace('"', ' '));

删除它们(根据您的示例):

System.out.println("I don't like these \"double\" quotes".replace("\"", ""));

【讨论】:

【参考方案2】:

您不需要正则表达式。只需逐个字符替换就足够了。您可以为此使用String#replace()

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

请注意,您也可以使用空字符串"" 来代替。否则空格会加倍。

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

【讨论】:

我同意,RegEx 太过分了。 正如 OP 在这里提出的新问题所证明的那样,这实际上是为了成为更大(也更麻烦)正则表达式的一部分。但是,是的,对于这个特定的查找和替换部分,正则表达式确实有点矫枉过正。【参考方案3】:

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

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

不仅仅是=的右侧

【讨论】:

【参考方案4】:

你可以这样做:

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

但这只会替换单引号。要替换双引号,您必须先将它们转义,如下所示:

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

您可以将其替换为空格,也可以将其留空(我相信您希望将其留空,但您的问题标题另有含义。

【讨论】:

以上是关于如何在 Java 中用空格替换双引号?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Sed Mac 终端查找和替换空格

如何在 JavaScript 中用双引号替换单引号?

如何在 C# 中用单个空格替换多个空格?

java中的空格和回车符怎样输入。

如何将 PATH 环境变量替换为双引号 + 反斜杠那些在 C# 中有空格的变量?

如何在 PHP 中用单个空格正确替换多个空格?