gpt4 book ai didi

javascript - RegExp 对象查找和替换不起作用

转载 作者:搜寻专家 更新时间:2023-10-30 21:41:54 24 4
gpt4 key购买 nike

我正在尝试替换字符串模板中的值,我正在尝试这样做:

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 {

}

最佳答案

两次转义特殊字符,一次用于字符串,一次用于正则表达式。

此外,无需转义大括号。

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 - RegExp 对象查找和替换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38466359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com