首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

! 正则替换有关问题!

2012-12-19 
求助!! 正则替换问题!!比如 有这么一个方程 0.000009*X^2-0.003963*X^3+123.352425我要把 X^2 替换成 Math

求助!! 正则替换问题!!
比如 有这么一个方程 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)"));

热点排行