所以基本上我正在尝试将这个字符串:“(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/