针对特定情况的 Java 正则表达式

标签 java regex

我正在尝试将字符串重新格式化为我想要的格式。我已经尝试解决这个问题有一段时间了,但我想不出任何使用正则表达式的优雅解决方案。我想出了一个使用 String 的 indexOf()replace() 的解决方案,但它并不完全漂亮。

我想转换任何字符串,以便“-”每一侧都有一个空格。

可能的输入:

"abc- abc"
"abc -abc"
"abc - abc"
"abc-abc" 

每种情况都应转换为

"abc - abc"

感谢您的帮助。如果您需要更多说明,请告诉我。

最佳答案

使用\s*-\s* 模式:

"abc- abc".replaceAll("\\s*-\\s*", " - "))

关于针对特定情况的 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17713820/

相关文章:

java - 如何在Java中删除重命名文件后的图像并删除原始文件?

java - 使 HttpUrlConnection 对远程 REST 端点无限期打开是否合理?

java - 匹配任何字符直到边界字符的模式

regex - 我如何重复正则表达式

regex - 以编程方式,Youtube Content ID如何工作?

java - 如何创建行之间具有不同背景的警报对话框列表

java - 在华为智能手机上为 "android javax.net.ssl.SSLException: 502 AUTH TLS OK",但在三星智能手机上运行良好。为什么?

regex - 如何在 Sublime-Text2 中的每个非 ascii 单词前添加换行符?

java - "IllegalArgumentException: !utf8"大多数请求出现 Jetty 错误

regex - 在Delphi中使用Regex替换字符串