这个应该很简单:
我们取字符串:str="1.99 or 4.89"
我想在金额前添加一个美元符号。
我试过了:
str.replace(/(\d\.\d\d)/g,"$$1"));
它给了我:“1美元或1美元”......
所以我坚持做:
str.replace(/(\d\.\d\d)/g,"$ $1").replace(/\$ /g,'$')
它有效,但我确信有更好的方法!我试过逃避两个$符号和其他一些东西...... 期待您的回答:)
答案 0 :(得分:8)
"1.99 or 4.89".replace(/(\d\.\d\d)/g, "$$$1")
// => "$1.99 or $4.89"
由于$
在替换字符串中很特殊,因此必须将其转义为文字$$
的{{1}}。它不会使用$
字符进行转义,这是一种通用的字符串转义机制,并在字符串到达\
之前进行处理(即如果您说replace
,则它变为"\$"
在作为参数传递之前,"$"
永远不会看到转义。