-3

假设我有一个字符串

  String = ".... helllo.... good \"morning\" .....\" "

我想得到输出

  helllo good morning 

如何在 Java 中使用正则表达式来做到这一点?

4

5 回答 5

3

如果您只是想删除.and ",那么您可以这样做

 str = str.replaceAll("\"|\\.", "");

此正则表达式将 any "(转义为\"因为在 java 字符串文字中)或 ( |) .(首先转义为\.因为在正则表达式中,然后\\.因为 a\必须在 java 字符串文字中转义)替换为空("")。

于 2013-02-19T08:55:42.163 回答
0

假设您只想保留空格字符和字母,您可以使用以下正则表达式:

[^a-zA-Z\s]+

如果您还想包含数字:

[^a-zA-Z0-9\s]+

只需用空字符串替换该正则表达式的匹配项。

编辑:

如果您只想做相反的事情(删除某些字符,例如.and "),那么您可以检查@dystroy答案。

于 2013-02-19T08:56:45.357 回答
0
public static void main(String[] args) {
    String str = ".... helllo.... good \"morning\" .....\" ";
    str = str.replaceAll("[^a-zA-Z]", " ").replaceAll("  +", " ");

    System.out.println(str);
}
于 2013-02-19T09:05:43.440 回答
0

这个

String yourString = ".... helllo.... good \"morning\" .....\" ";
System.out.println(yourString.replaceAll("[.\\\"]", ""));

输出helllo good morning

于 2013-02-19T09:03:27.263 回答
0

有很多方法可以做到这一点。

这是一种使用 String 类的简单替换方法的方法。

    String s = ".... helllo.... good \"morning\" .....\" ";
    s = s.replace(".","").replace("\"", "");
    System.out.println(s);
于 2013-02-19T09:10:12.010 回答