比如 有这么一个方程 0.000009*X^2-0.003963*X^3+123.352425
我要把 X^2 替换成 Math.pow(X,2)
X^3 替换成 Math.pow(X,3)
注意: X^* *代表任意数字 而且该方程的 X^*数量不确定
比如:可能是这样 0.000009*X^2-0.003963*X^3+123.352425
也可能是这样 0.000009*X^2-0.003963*X^3/0.00263*X^4+123.352425
怎么把 x^*之类的字符替换成 相对应的 Math.pow(X,*)
大神们!!帮帮我!! 谢啦!!
------最佳解决方案--------------------------------------------------------
public static void main(String[] args) throws Exception {
String str = "0.000009*X^2-0.003963*X^3/0.00263*X^4+123.352425";
str = str.replaceAll("(?i)(x)\\^(\\d+)","Math.pow($1,$2)");
System.out.println(str);
}
------其他解决方案--------------------------------------------------------
System.out.println("0.000009*X^2-0.003963*X^3+123.352425".replaceAll("X\\^(\\d+)", "Math.pow(X,$1)"));