正则表达式带空间连字符

时间:2012-11-25 21:31:19

标签: java regex

我无法在连字符前后删除一个空格。我试过了: -

sample.replaceAll("[\\s\\-\\s]","") 

和排列无济于事。我不想剥离所有空间,也不想剥离所有空间。我正在尝试根据" "解析字符串,但想要消除"-"。任何洞察力都赞赏。

1 个答案:

答案 0 :(得分:4)

[\s\-\s]是一个字符类,与space followed by - followed by space不匹配。它匹配任何字符 - space-,并将其替换为empty string

您可以使用: -

sample = sample.replaceAll("[ ]-[ ]","-");

或者,即使String.replace也适用于此。你真的不需要replaceAll: -

sample = sample.replace(" - ", "-");