java - 如何使用 Java 或正则表达式删除字符串中连字符前后的空格?

标签 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";

尝试过拆分、修剪和连接,但代码看起来很垃圾。需要一些捷径。

最佳答案

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

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

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

输出将是:O Jesus-Jesus Jesus-O-Jesus-O-O

关于java - 如何使用 Java 或正则表达式删除字符串中连字符前后的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43586800/

相关文章:

java - Android Java HttpUrlConnection 卡住

java - java中sql准备语句的问题

java - 如何在 JQuery 和 JSF(Myfaces Tomahawk 组件库)之间发送/接收 json 对象

java - 如何将有关使用 Opencv 进行模糊检测的代码从 C++ 转换为 Java

ruby - 如何进行 'or' 匹配但不捕获正则表达式中的 'or' 部分?

python - 如何使用python计算没有空格的字符串中的字符?

javascript - jQuery 检查数组中字母是否可用

java - 删除特殊字符前后的空格

仅正整数或负整数的正则表达式,不环顾四周

java - 如何在第一次出现字符时停止匹配器?