我有一个字符串,我想在其中删除除连字符、点和空格之外的所有特殊字符。
我正在使用 filename.replaceAll("[^a-zA-Z0-9.-]","")
。它适用于 .
和 -
但不适用于空间。
我应该添加什么才能让它也适用于空间?
最佳答案
如 Pattern
class javadoc 中所述,使用 \s
或仅使用空格字符
\s - A whitespace character: [ \t\n\x0B\f\r]
- Literal space character
您必须将 -
字符转义为 \-
,这样它就不会被解释为范围表达式,或者确保它保留为最后一个正则表达式字符。把它们放在一起:
filename.replaceAll("[^a-zA-Z0-9\\s.-]", "")
filename.replaceAll("[^a-zA-Z0-9 .-]", "")
关于java - 如何从字符串中删除除 - 之外的所有特殊字符。和空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53629614/