如何在HTML文件中用美元符号替换所有字符串?

时间:2019-05-21 15:04:19

标签: javascript

我从db获得html模板作为字符串,并且在节点中写入文件之前,我想用该字符串中的数字替换所有${survey_url}。我尝试过:

str.replace(/${survey_url}/g, params.orderId)

但不起作用。你能帮我理解出什么问题吗?

3 个答案:

答案 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)

您可以尝试用$转义\$