我有一串"aa$bb$cc"
;我想将其替换为"aa\$bb\$cc"
我试过这个:
var str = "aa$bb$cc"
str.replace(/$/g, "\\$");
但是出局是"aa$bb$cc\$"
如何在所有浏览器中替换它并获得相同的结果(正确... )?
答案 0 :(得分:3)
你的正则表达式也应该逃脱$
。
/\$/g
这是因为它是一个特殊字符,表示字符串的结尾(如果使用m
修饰符,则为行尾)。
答案 1 :(得分:2)
str = str.replace(/\$/g, "\\$");
正则表达式中的 $
表示“行尾”。因此,它用\$
替换行的所有末尾。转义正则表达式中的$
即可。
答案 2 :(得分:1)
$
在正则表达式中具有特殊含义,它与字符串的结尾相符。 ^
锚定到字符串的开头。尝试转义它/\$/g
你基本上是在说“用'\''替换行尾。
答案 3 :(得分:0)
试试这个:"aa$bb$cc".replace(/\$/g, "\\$");