我一直试图用数字分割字符串。基本上我有一个字符串,例如:
"10x + 10"
JS将其拆分并获取:
["+10x", "+10"]
我已经尝试过几次,但是没有成功。如果我理解正确,则只需将其除以+ - / *
。我最大的尝试是:
var statement = ["10x + 10"]
var spliters = ['+', '-', '*', '/'];
for (i = 0; i < spliters.length; i++) {
for (o = 0; o < statement.length; o++) {
statement[o] = statment[o].split(spliters[i]);
for (p = 0; p < statment[o].length - 1; p++) {
statement[o][p] = spliters[i] + statement[o][p];
}
statement = flatten(statement);
}
}
但是它不起作用。另外,我只希望+
和-
在数组元素的前面,而不是*
和/
。如果有人可以帮助我,将不胜感激。
答案 0 :(得分:0)
请记住,Array.prototype.split()
可以使用正则表达式:
let str = "10x + 10";
let arr = str.split(/[+|-|\*|/]/);
console.log(arr); // output: ["10x ", " 10"];
但是,这不是解析算术表达式的好方法。为此,我建议使用Shunting-yard algorithm。