当前位置: 代码迷 >> Java相关 >> ! 正则替换有关问题!
  详细解决方案

! 正则替换有关问题!

热度:3520   发布时间:2013-02-25 21:43:09.0
求助!! 正则替换问题!!
比如 有这么一个方程 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)"));
  相关解决方案