java - 如何用每边的字符和空格替换特殊字符和数字

标签 java regex string replace

所以基本上我正在尝试将这个字符串:“(1+2)/2”转换为这个“( 1 + 2 )/2”。 我试过这个:

String inputInfix = input.replaceAll("[^0-9/]", "[^0-9/] ");

但它不起作用,是否有某种方法可以将除“/”之外的每个字符和两边的数字替换为空格。例如,“(1/2)” -> “( 1/2 )”

最佳答案

你可以使用

input.replaceAll("(?<=[^\\s/])(?=[^\\s/])", " ")

参见 regex demo . 详细信息:

  • (?<=[^\s/]) - 正后视匹配紧接在前面的字符不是空白字符和斜杠的位置
  • (?=[^\s/]) - 与紧随其后的字符(而非空白字符和斜杠)匹配的位置的正向前瞻。

关于java - 如何用每边的字符和空格替换特殊字符和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70292875/

相关文章:

java - 如何在 Hibernate 中使用 Oracle 函数获取 ID

java - 如何在 href url 中附加列表?

java - 使用单个replaceAll 审查选定的单词(用**** 替换它们)?

regex - 检查电子邮件地址时添加撇号

java - Eclipse Java(非 Android)中的 Strings.xml 或 String 资源

java - log4j.xml 日志记录在 spring Controller 中不起作用?

java - java中执行多条SQL语句

regex - 使用 REGEX 替换方法放置千位分隔符

c - 字符串连接细节

c++ - 在 C++ 中合并十六进制字符串的最佳方法? [大量编辑]