RegExp对象查找和替换不起作用
RegExp object find and replace not working
我正在尝试替换字符串模板中的值,我正尝试这样做:
for (var i in replacements) {
var regexp = new RegExp(''$'{' + i + ''}', 'g');
template = template.replace(regexp, replacements[i]);
}
以下是我试图替换的模板中的值:
<?php
class ${className} {
}
当我执行console.log(i, replacements[i])
时,我得到className
Test
,但它不会在最终模板中替换它。它根本不会修改它。我做错了吗?
我正在寻找的输出是:
<?php
class Test {
}
对特殊字符进行两次转义,一次用于字符串,另一次用于Regex。
此外,无需转义花括号。
var replacements = {
className: 'Test'
}
var template = '<?php class ${className} { }';
for (var i in replacements) {
var regexp = new RegExp('''${' + i + '}', 'g');
template = template.replace(regexp, replacements[i]);
}
console.log(template);
相关文章:
- 替换变量时,JavaScript字符串replace()不起作用
- .clone().appendTo-替换不起作用的元素样式
- jquery替换不起作用
- Javascript字符串替换不起作用
- jQuery |字符串替换不起作用
- 全局替换不起作用,但简单的替换工作正常
- jQuery搜索和替换不起作用(Wordpress)
- 添加另一个变量后,正则表达式替换不起作用
- 简单的Javascript替换不起作用
- JavaScript 替换不起作用
- Javascript字符串替换不起作用
- javascript全部替换不起作用
- 如果第二个参数再次是替换方法,则JavaScript替换不起作用
- javascript函数替换不起作用,为什么
- JS替换不起作用
- javascript:字符串.替换不起作用
- Jquery替换不起作用
- Javascript正则表达式替换不起作用
- Javascript正则表达式替换不起作用,即
- RegExp对象查找和替换不起作用