我从db获得html模板作为字符串,并且在节点中写入文件之前,我想用该字符串中的数字替换所有${survey_url}
。我尝试过:
str.replace(/${survey_url}/g, params.orderId)
但不起作用。你能帮我理解出什么问题吗?
答案 0 :(得分:2)
{
,}
和$
在正则表达式中是有意义的字符,因此您需要对其进行转义。
str.replace(/\$\{survey_url\}/g, params.orderId);
MDN很好地介绍了regular expressions work的运行方式。
答案 1 :(得分:2)
问题在于$
和{...}
是特殊字符,因此它们没有按字面意义进行解释。
特别是:
$
表示字符串的结尾{...}
表示范围所以您需要转义这些字符:
const output = '${greeting} user!'.replace(/\$\{greeting\}/g, 'hello');
console.log(output);
答案 2 :(得分:0)
您可以尝试用$
转义\$