如何从字符串中删除除-之外的所有特殊字符.和空间



我有一个字符串,我想在其中删除除连字符、点和空格之外的所有特殊字符。

我正在使用filename.replaceAll("[^a-zA-Z0-9.-]","")。它适用于.-,但不适用于空间。

我应该添加什么才能使它也适用于太空?

-类javadoc 中所述,使用s或仅使用空格字符

s - A whitespace character: [ tnx0Bfr]
- Literal space character

您必须将-字符转义为[^a-zA-Z0-9s.-],这样它就不会被解释为范围表达式,或者确保它保留为最后一个正则表达式字符。综合起来:

filename.replaceAll("[^a-zA-Z0-9\s.-]", "")
filename.replaceAll("[^a-zA-Z0-9 .-]", "")

您可以使用此正则表达式[^a-zA-Z0-9 .-]s

CCD_11匹配空白,(空格字符(只匹配空格。

因此,在这种情况下,如果你想匹配空白使用这个:

filename.replaceAll("[^a-zA-Z0-9\s.-]", "");

如果你只想匹配空间,请使用这个:

filename.replaceAll("[^a-zA-Z0-9 .-]", "");

相关内容

  • 没有找到相关文章

最新更新