簡體   English   中英

如何從字符串中刪除除-以外的所有特殊字符。 和空間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM