将字符串拆分为数组并将分隔符添加到数组中

时间:2015-04-16 17:32:12

标签: java arrays regex string

我有一个String,我需要将此String拆分为数组 我的字符串是例如" -2x + 3"

我用这段代码分割它

public static String[] splitAnswer(String answerInput){
        answerInput = answerInput.trim();
        String[] token = answerInput.split("[\\+\\-\\*\\\\\\/]");
        return token;
    }

但是我需要2x的减号,即(-2x),我的数组输出将是{"-2x","3"}

后我需要减去数字的重要事项

1 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式:

String[] token = answerInput.split("[+*/]|(?=-)")

因此,除了-之外,这将拆分所有运算符。对于-运算符,它会在-运算符之前拆分空字符串。顺便说一下,你不需要在字符类中转义任何东西。

对于-2x + 3,拆分位置为:

|-2x+3   ( `|` is empty space)
^   ^