Как отделить числа и арифметические операторы от строки? - PullRequest
3 голосов
/ 18 марта 2019

У меня есть строка, мне нужно прочитать ее и разделить на числа и операции для калькулятора.

Например: если ввод "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);

Результат вывода:

enter image description here

1 Ответ

3 голосов
/ 18 марта 2019

Вы можете разделить ваш ввод на цифры и не цифры.

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...