首页 > 解决方案 > 如何从字符串中分离数字和算术运算符?

问题描述

我有一个字符串,我需要读取它并将其划分为数字和计算器的运算。

例如:如果输入是"22*432+33"

我需要控制台将字符串作为一个整体并将数字添加到数组中,直到找到操作符号并将操作符号推送到另一个数组中,以便输出结果:

numbers = ["22", "432", "33"];
operations = ["*", "+"];

我使用的语言是 javascript 我知道问题可能是板,但我试图解决它一周但没有成功。

我的失败尝试之一:

var numbers = [];
var tokens = ["+", "-", "/", "*"];
var textfield = "22*432+33";

for (var i = 0; i <= textfield.trim().length; i++) {
  if (tokens.includes(textfield[i]) == false) {
    numbers.push(textfield.split());
  }
}
console.log(textfield);
console.log(tokens);
console.log(numbers);

输出结果:

在此处输入图像描述

标签: javascriptarraysfor-loop

解决方案


您可以将输入拆分为数字和非数字。

const input = "22*432+33";
const numbers = input.split(/\D/g);
const op = input.split(/\d/g).filter(Boolean);

console.log(numbers);
console.log(op);


推荐阅读