Преобразует текстовую строку в массив на основе определенных символов и символов - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть такая строка:

let str  = "log(5)+sin(5)*π-cos(5)/√(4)*4^2";

Я хочу преобразовать ее в массив, подобный этому:

var newArr = ["log(", "5", ")", "+", "sin(", "5", ")", "*", "π", "-", "cos(", "5", ")", "/", "√(", "4", ")", "*", "4", "^", "2"];

Я пытался использовать Split, но не получилрезультат, который я хотел

str.split(/(\b)/g)

1 Ответ

0 голосов
/ 03 декабря 2018

Вы можете решить это с помощью регулярных выражений:

let regex = /[A-Za-z√(]+|\d+|[)]|[+-/*^]|[π]/gm;
let str = `log(5)+sin(5)*π-cos(5)/√(4)*4^2`;
var match = str.match(regex);
console.log(match);

Подробности на regex101: https://regex101.com/r/wtg3fl/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...