2014-09-23 82 views
2

在下面一行与string.replace,lossLocation.state $,

$符号之后的更换取出,

我需要保持$,因为它是用来在变量中。

'{0}'.replace(
     '{0}' 
     , 'categories.Country === \'$formData.lossLocation.state$\'.toUpperCase()') 

它给了我

"categories.Country === '$formData.lossLocation.state'.toUpperCase()" 

预期的结果应该是

"categories.Country === '$formData.lossLocation.state$'.toUpperCase()" 

我试过以下,但仍然被删除时更换

state\$ 
+0

雅,好像相关的问题。大概在关闭它之后 – devric 2014-09-23 02:14:38

回答

2

因为它在String.prototype.replace()。要替换内容中的'$',您应该使用'$$'而不是'\ $'。

所以构建它的正确方法是

'{0}'.replace('{0}', 
    'categories.Country === \'$formData.lossLocation.state$\'.toUpperCase()' 
     .replace(/\$/g, '$$$$') 
)