如何删除连字符与后续字符串中的前后单词之间的所有空格?
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";
尝试拆分,修剪和重新合并,但是代码看起来很垃圾。需要一些捷径。
最佳答案
正则表达式将允许您指定未知数量的空格:
s = s.replaceAll("\\s*-\\s*", "-");
其中
\\s*
表示0或多个空格。输出将是:
O Jesus-Jesus Jesus-O-Jesus-O-O