如何在 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 中用空格替换双引号?的主要内容,如果未能解决你的问题,请参考以下文章