提取系数和字符串的变量部分(java)

提取系数和字符串的变量部分(java),java,string-parsing,Java,String Parsing,我正在编写一个基本的多项式解算器,到目前为止,我已经对我的输入进行了如下标记 例如: x^2+3.5x+4x+3=0变为[x^2,7.5x,3](称为术语1)。我通过在“+”上分离来生成这个数组,效果很好 我想从每个数组中提取系数和变量,以便将其转换为两个数组,如下所示: [x^2,x,“] [1,7,3] 到目前为止,我的代码看起来是这样的(但它意外地匹配了指数,而不匹配作为隐式系数的x平方) 你能在你的代码中也给出术语1吗?你可以先按+或-进行拆分,然后对于每个术语,x之前的任何内容都是一个

我正在编写一个基本的多项式解算器,到目前为止,我已经对我的输入进行了如下标记

例如: x^2+3.5x+4x+3=0变为[x^2,7.5x,3](称为术语1)。我通过在“+”上分离来生成这个数组,效果很好

我想从每个数组中提取系数和变量,以便将其转换为两个数组,如下所示: [x^2,x,“] [1,7,3]

到目前为止,我的代码看起来是这样的(但它意外地匹配了指数,而不匹配作为隐式系数的x平方)


你能在你的代码中也给出
术语1
吗?你可以先按
+
-
进行拆分,然后对于每个术语,
x
之前的任何内容都是一个系数。如果没有数字,请将其读为
1
@DavidWallace这就是我为获取术语1所做的。变量可以是字母[a-z]的任意集合。正如你所说,我想把系数从变量中分离出来,但我不知道如何构造正则表达式。
for(String term : terms1){
        Scanner s = new Scanner(term);
        coff = s.findInLine("\\d+(\\.\\d+)?" );
        var = s.next();
        System.out.println(coff);
        System.out.println(var);
}