我想把字符串 10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5  把系数和指数取出来,该怎样拆分呢?比如说拆分成(10.1,1),(-6.1,3)或者其他的,只要能 把系数和指数取出来。谢谢了。

解决方案 »

  1.   


    String str = "10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5";
    String regex = "(-?\\s*[\\d.]+)x\\^(-?\\s*\\d)";
    Pattern p = Pattern.compile(regex );
    Matcher match = p.matcher(str);
    while(match.find())
    {
    System.out.println("("+match.group(1)+","+match.group(2)+")");
    }
      

  2.   


    public static void main(String[] args) {
    String s="10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5"; String sa[]=s.split("(\\+|-){1}");
    String flg;
    String m,n;
    for(String st:sa){
    flg=st.trim();
    m=flg.substring(0, flg.indexOf("x"));
    n=flg.substring(flg.indexOf("^")+1,flg.length());
    System.out.println("系数:"+m +"  指数:"+n);
    }
    }系数:10.0  指数:1
    系数:6.1  指数:3
    系数:10.1  指数:4
    系数:34.8  指数:5
      

  3.   


                    String str = "10.0x^1 - 6.1x^3 + 10.1x^4 + 34.8x^5";
    String regex = "(-?\\s*[\\d.]+)x\\^(-?\\s*[\\d.]+)";
    Pattern p = Pattern.compile(regex );
    Matcher match = p.matcher(str);
    while(match.find())
    {
    System.out.println("("+match.group(1)+","+match.group(2)+")");
    }刚才的有点问题