2013-08-07 55 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