【发布时间】:2021-02-23 12:47:21
【问题描述】:
要删除Java中的引号,我知道我可以使用
replaceAll("\"", "");
例如:“Hello World”变成了 Hello World。
但是,它只删除这种类型的引号“”。有没有办法删除像“Hello World”这样的引号?
【问题讨论】:
要删除Java中的引号,我知道我可以使用
replaceAll("\"", "");
例如:“Hello World”变成了 Hello World。
但是,它只删除这种类型的引号“”。有没有办法删除像“Hello World”这样的引号?
【问题讨论】:
如果您只是想删除这 3 种双引号,无论上下文如何:
replaceAll("[\"“”]", "");
如果您要删除其他类型的引号字符,只需将它们添加到 ] 之前。
这些页面列出了您可能会遇到的一些其他引号字符:
另见:
它谈到了创建一个正则表达式以匹配所有以适应未来的方式的困难。
请注意,由于我们在源代码(上图)中包含了一些“时髦”字符(非 ASCII),因此 Java 编译器了解源代码使用的字符编码非常重要。我们可以通过使用 Unicode 转义来避免这种情况。例如:
replaceAll("[\"\u201c\u201d]", "");
【讨论】:
您可以在此处尝试正则表达式替换,例如
String input = "“Hello World”";
System.out.println(input.replaceAll("“(.*?)”", "$1")); // prints Hello World
【讨论】: