如何使用Java或Regular表达式删除字符串中连字符的前导和尾随空格?

时间:2017-04-24 11:24:20

标签: java regex string

如何删除连字符之间的所有空格以及后面的字符串中的前后字?

String s = "O Jesus  -   Jesus Jesus-O -     Jesus  - O -O";
s.replaceAll("  -   ", "-"); <- This only replaces first spacy-hyphen with hyphen 

我们正在获取其他搜索词,其中连字符位于空格数之间的未知位置。正则表达式如何处理相同的?需要全球解决方案。

需要输出:

"O Jesus-Jesus Jesus-O-Jesus-O-O";

尝试拆分和修剪并加入,但代码看起来很垃圾。需要一些捷径。

1 个答案:

答案 0 :(得分:3)

正则表达式允许您指定未知数量的空格:

s = s.replaceAll("\\s*-\\s*", "-");

其中\\s*表示0个或更多的空格。

输出结果为:O Jesus-Jesus Jesus-O-Jesus-O-O