This question already has answers here:
Is there a RegExp.escape function in Javascript?
(14个回答)
在10个月前关闭。
我需要用多个定界符分割一个字符串。
我的字符串是
我的定界符(分隔符)数组为
我正在使用正则表达式,但无法正常工作。
结果应为
但是我收到一个错误
当我删除
如何从定界符数组中拆分多个定界符?
为什么在
(14个回答)
在10个月前关闭。
我需要用多个定界符分割一个字符串。
我的字符串是
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"]
如何从定界符数组中拆分多个定界符?
为什么在
$
和*
下不起作用? 最佳答案
您需要先转义特殊字符-this answer中的replace
函数:
var str = "2$4@3*5";
var del = ["$", "@", "*"];
const res = str.split(new RegExp(del.map(e => e.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')).join("|"), "gi"));
console.log(res);
关于javascript - 从数组中使用多个定界符分割字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56897612/
10-16 06:57