注册 登录
编程论坛 JavaScript论坛

JS的replace方法怎么实现变量替换

八月_ 发布于 2020-12-26 14:29, 2418 次点击
以变量形式传参,例如replace(S1,S2),但JS的这个方法有个问题,特殊符号的处理,我百度多个文章帖子,五花八门,做法很多都是写死replace,例如replace(new RegExp(\\+,"gm"),s2),我想要s1参数是动态变量,但如果有特殊字符就会报错,我尝试在检查字符串是否包含特殊字符,如果包含,特殊字符前加\\,结果这个\\拼接进去,还是会报错,有没有大神懂得怎么处理
2 回复
#2
八月_2020-12-26 14:29
占个楼等大神出现
#3
wangyu442021-01-05 15:39
RegExp 有两个种构造方式

new RegExp('str', 'i'); // 字符串模式
new RegExp(/str/, 'i'); //  regular expression literal 模式

如果你要使用变量构造的话 可以用第一种模式

let reg = "a";
"abcdefg".replace(new RegExp(reg,"gm"), "qwe") //输出 qwebcdefg
1