如何用每边的字符和空格替换特殊字符和数字
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/])
- 匹配一个位置的正先行,该位置紧跟一个字符而不是空白字符和斜杠。
所以基本上我正在尝试将这个字符串:“(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/])
- 匹配一个位置的正先行,该位置紧跟一个字符而不是空白字符和斜杠。