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

27

例如:

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

我希望输出结果是:

我希望输出结果是

I don't like these double quotes
4个回答

39

使用 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("\"", ""));

9
您不需要使用正则表达式。只需按字符逐个替换即可。您可以使用String#replace()来实现此功能。
String replaced = original.replace("\"", " ");

请注意,您也可以使用空字符串""来替换。否则,空格会重复出现。
String replaced = original.replace("\"", "");

我同意,正则表达式确实过于复杂。 - Lawrence Dol
正如在这里OP提出的新问题中所发现的那样,实际上这将成为一个更大(而且麻烦)的正则表达式片段的一部分。但是,对于这个特定的查找和替换操作,使用正则表达式确实过于复杂了。 - BalusC

3
您可以像这样做:
string tmp = "Hello 'World'";
tmp.replace("'", "");

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

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

您可以用空格来替代它,或者直接留空(我相信您希望将其留空,但是您的问题标题似乎暗示了另外一种情况)。


3

字符串是不可变的,因此您需要使用

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

不仅仅是等号右侧的=


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接