我有一个String,我需要将此String拆分为数组 我的字符串是例如" -2x + 3"
我用这段代码分割它
public static String[] splitAnswer(String answerInput){
answerInput = answerInput.trim();
String[] token = answerInput.split("[\\+\\-\\*\\\\\\/]");
return token;
}
但是我需要2x的减号,即(-2x),我的数组输出将是{"-2x","3"}
答案 0 :(得分:2)
您可以使用以下正则表达式:
String[] token = answerInput.split("[+*/]|(?=-)")
因此,除了-
之外,这将拆分所有运算符。对于-
运算符,它会在-
运算符之前拆分空字符串。顺便说一下,你不需要在字符类中转义任何东西。
对于-2x + 3
,拆分位置为:
|-2x+3 ( `|` is empty space)
^ ^