在`replace`函数中转义$$

时间:2014-03-04 17:41:53

标签: javascript

我在途中遇到了下一个麻烦:

"abc".replace("ab","$$ $$")
>>> "$ $c"
"abc".replace("ab","\$\$ \$\$")
>>> "$ $c"

我如何逃脱$符号?

1 个答案:

答案 0 :(得分:3)

在替换字符串中,$$ = $。因此,如果您真的想要$$,请使用$$$$

"abc".replace("ab","$$$$ $$$$") // "$$ $$c"

不需要反斜杠。 Details in the specification


旁注:只会替换ab第一个次,因为您的第一个参数是一个字符串。 E.g:

"abc abc abc".replace("ab","$$$$ $$$$") // "$$ $$c abc abc"

如果您希望替换所有次出现,则必须使您的第一个参数成为带有g(全局)标记的正则表达式:

"abc abc abc".replace(/ab/g,"$$$$ $$$$") // "$$ $$c $$ $$c $$ $$c"