我不知道如何陈述这一点。
假设您有一个数学方程式作为字符串:
String equation = "2 3 - 6 + 5 ( 4 - 3 )";
我想做的是用相同的内容替换彼此相邻或括号旁边的所有数字,但它们之间有一个*
。所以"2 3 - 6 + 5 ( 4 - 3 )"
变得"2 * 3 - 6 + 5 * ( 4 - 3 )"
.
有没有办法在没有循环的情况下做到这一点?提前谢谢。
将 replaceAll
与捕获组的相应正则表达式一起使用,并在替换中使用 $1
和 $2
以重用捕获组中的字符串。
String equation = "2 x - 6 + 5 ( 4 - 3 ) y";
String regex = "([0-9xyz)])\s*([0-9xyz(])";
String replaced = equation.replaceAll(regex, "$1 * $2");
System.out.println(replaced);
输出:
2 * x - 6 + 5 * ( 4 - 3 ) * y