6*x + 7 = 7*x + 2 - 3*x
当我们将方程式的右边移到左边时,我们需要将运算符号从+翻转到-,反之亦然。
使用java regex replaceAll
,我们可以用-替换所有的+,结果,所有的运算符都变成了-,使得我们不可能恢复所有的+。
作为一种变通方法,我遍历字符串并在遇到字符串时将+改为-,反之亦然。但是我仍然想知道是否有一种方法可以在Java中使用正则表达式在布尔值对之间进行切换?
发布于 2012-12-03 17:46:11
你可以使用这个技巧:
String equation = "<Your equation>"
equation = equation.replaceAll("+","$$$");
equation = equation.replaceAll("-","+");
equation = equation.replaceAll("$$$","-");
假设$$$不在您的等式中。
发布于 2012-12-03 18:19:18
在PHP中,用户可以执行以下操作:
function swap($m) {
return ($m[0]=='-')?'+':'-';
}
echo preg_replace_callback( '(\+|\-)', 'swap', '1 + 2 - 3 + 4 - 5');
https://stackoverflow.com/questions/13680594
复制相似问题