от
На этот вопрос уже есть ответ здесь: Есть регулярное выражение.функция побега в JavaScript? 12 ответов Мне нужно разбить строку на несколько разделителей. Моя строка
var str = "2$4@3*5"
Моя коллекция разделителей (сепараторов) является
var del = ["$","@", "*"]
Я, используя регулярное выражение, но оно не работает.
str.split(new RegExp(del.join('|'), 'gi'));
Результаты должны быть
["2","4","3","5"]
Однако я получаю сообщение об ошибке
SyntaxError: Invalid regular expression: /*/: Nothing to repeat
Когда я удалить
*
результирующий массив
["2$3',"3", "5"]
Как я могу разделить с несколько разделителей из массива разделители? и почему это не работает с
$
и
*
?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

2 Ответы

0 голосов
от
Вам нужно бежать первые специальные символы - функции
replace
из этого ответа:
var str = "2$4@3*5";    
var del = ["$", "@", "*"];    

const res = str.split(new RegExp(del.map(e =
0 голосов
от
Попробовать, как это. Я прошел в регулярное выражение в Сплит.
var str = "2$4@3*5"

var res=  str.split(/[$,@,*] /)

console.log(res)
...