2013-08-07 116 views
-1

刪除破折號它不是Remove dash from a phone number 重複也許解決方案是在這裏,但我不明白Can't remove dashes (-) from string從Java字符串

我不得不刪除人 ​​- 從一個字符串(破折號),alzo我不得不刪除「 - 「和 」 - 「(所有的破折號臨近空間) 這不起作用(什麼都不做)

toclean.replaceAll("[\\s\\-()]", ""); 
     toclean.replaceAll("[\\s\\-()]", ""); 
     toclean.replaceAll("[\\s\\ -()]", ""); 

想法?

+0

你能提供一個例子,你的預期結果和每個人的實際結果嗎? – Michelle

+0

toclean = toclean.replaceAll(「[\\ s \\ - ()]」,「」); – Lele

+0

你是錯的,你錯過了任務。我不知道我怎麼沒有聽到。但是,請注意,該正則表達式仍將刪除所有空格,即使它不在連字符旁邊。我不知道這是否符合您的要求。 – Michelle

回答

2

你想要破折號周圍的所有空格,而試過的正則表達式會從字符串中刪除所有空格,破折號和括號。刪除連字符和他們周圍的空格的正則表達式是:

"[ ]?-[ ]?" 

如果你想刪除任何空格,你可以使用\ S:

"\\s?-\\s?" 

這隻會刪除最近的空格前後在任何連字符後面(所以,如果你之前有兩個空格,它將只刪除一個)。

+0

在我的字符串我必須(只)刪除破折號和最近的空白。不是其他符號 – Lele

+1

更新了我的答案。正則表達式現在將刪除連字符和前後的最近空白(如果存在的話)(以前,它會匹配所有前後的空白)。 – Michelle

+0

工作很好。非常感謝! – Lele