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

How to replace special characters and numbers with the character and spaces on each side

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

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

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

您可以使用

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

regex demo详情:

  • (?<=[^\s/]) - 正后视匹配紧接在前面的字符不是空白字符和斜杠的位置
  • (?=[^\s/]) - 匹配一个位置的正先行,该位置紧跟一个字符而不是空白字符和斜杠。