[英]How to remove all special Characters from a string except - . and space
我有一個字符串,我想刪除除連字符,點和空格以外的所有特殊字符。
我正在使用filename.replaceAll("[^a-zA-Z0-9.-]","")
。 它正在為.
和-
但不是為了空間。
我還應該添加什么以使其也適用於空間?
使用\\s
或僅使用空格字符 如
Pattern
類javadoc中所述
\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 .-]", "")
您可以使用此正則表達式[^a-zA-Z0-9\\s.-]
或[^a-zA-Z0-9 .-]
\\s
匹配空格,並且 (空格字符)僅匹配空格。
因此,在這種情況下,如果要匹配空格,請使用以下命令:
filename.replaceAll("[^a-zA-Z0-9\\s.-]", "");
如果只想匹配空間,請使用以下命令:
filename.replaceAll("[^a-zA-Z0-9 .-]", "");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.