Задать вопрос
@New-Developer
Изучаю JavaScript

Можно ли разделить строку с сохранением разделителей без регулярного выражения?

Из строки '5 /(2- 3)* 1.333333 + -11 ' получить массив
['5 ', '/', '(', '2', '-', '  3', ')', '*', ' 1.333333 ', '+ ', '-', '11 ']
без использования регулярного выражения.
  • Вопрос задан
  • 458 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
Stalker_RED
@Stalker_RED
Можно и без регулярного.

Не совсем понятно по каким правилам вы разбираете строку, у вас пробел то к цифрам относится, то к плюсу.
Если с этим не заморачиваться, или заранее удалить пробелы из строки то вот, отличается только пробелом после плюса.

Но с регуляркой проще.
Для начала удалим пробельные символы при помощи replace.

\D - любые символы кроме цифр
| - логическое ИЛИ
\d - любые числа, то-же самое что [0-9]
[\d.] - список символов включающий любые числа и точку. Также можно записать как [0-9.]
+ - квантификатор, который указывает на неограниченное кол-во повторений (но не меньше одного символа).

Все вместе: \D|[\d.]+ любые не цифровые символы ИЛИ последовательность цифр и точек любой длины.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Nolis
@Nolis
it-гопник
такой вариант не подходит?
string.split("").filter((element) => element !== " ")
Единственная проблема - это 1.333333
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы