首页 > 解决方案 > 为什么一美元不见了?

问题描述

let str = '$$double_dollars$$'
console.log(str.replace('$$double_dollars$$', '$$no_double_dollars$$'));
// => $no_double_dollars$
// expected $$no_double_dollars$$

为什么会这样?如何解决此错误?

标签: javascriptstringreplace

解决方案


根据 MDN 文档String.prototype.replace(正如@Alex 所说),有一个特殊模式列表,这些模式会被相应地评估,其中之一就是您正在使用的模式。

特殊模式如下:

  • $$插入一个$

有关特殊模式的完整列表,请参阅MDN 文档

正如@H.Figueiredo 所评论的那样,您可以避开美元符号或遵循此答案后几秒钟发布的答案之一。


推荐阅读