- を除く文字列からすべての特殊文字を削除する方法。スペース

Nirpeksh:

私はハイフン、ドットとスペースを除くすべての特殊文字を削除したい文字列を持っています。

私が使用していますfilename.replaceAll("[^a-zA-Z0-9.-]","")それはのために働いている.-スペースのためにではなく。

私は、それは同様のスペースのために動作させるためにこれに何を追加する必要がありますか?

チャールズDowbecki:

使用のいずれか\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 .-]", "")

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=192669&siteId=1