假设我有一个字符串
String = ".... helllo.... good \"morning\" .....\" "
我想得到输出
helllo good morning
如何在 Java 中使用正则表达式来做到这一点?
假设我有一个字符串
String = ".... helllo.... good \"morning\" .....\" "
我想得到输出
helllo good morning
如何在 Java 中使用正则表达式来做到这一点?
如果您只是想删除.
and "
,那么您可以这样做
str = str.replaceAll("\"|\\.", "");
此正则表达式将 any "
(转义为\"
因为在 java 字符串文字中)或 ( |
) .
(首先转义为\.
因为在正则表达式中,然后\\.
因为 a\
必须在 java 字符串文字中转义)替换为空(""
)。
假设您只想保留空格字符和字母,您可以使用以下正则表达式:
[^a-zA-Z\s]+
如果您还想包含数字:
[^a-zA-Z0-9\s]+
只需用空字符串替换该正则表达式的匹配项。
编辑:
如果您只想做相反的事情(删除某些字符,例如.
and "
),那么您可以检查@dystroy
答案。
public static void main(String[] args) {
String str = ".... helllo.... good \"morning\" .....\" ";
str = str.replaceAll("[^a-zA-Z]", " ").replaceAll(" +", " ");
System.out.println(str);
}
这个
String yourString = ".... helllo.... good \"morning\" .....\" ";
System.out.println(yourString.replaceAll("[.\\\"]", ""));
输出helllo good morning
有很多方法可以做到这一点。
这是一种使用 String 类的简单替换方法的方法。
String s = ".... helllo.... good \"morning\" .....\" ";
s = s.replace(".","").replace("\"", "");
System.out.println(s);