如何在javascript中替换$$

时间:2015-11-18 13:36:17

标签: javascript

当我尝试使用$$替换replace()时,它将仅替换为单$

var abc = "T"
abc.replace("T","A$$B")
"A$B"

我要求输出为"A$$B"

2 个答案:

答案 0 :(得分:2)

首先,该语言称为JavaScript。

其次,您必须使用另一个$“转义”每个文字$,因为它们通常用于反向引用子匹配:

'this is a test'.replace(/(.)s/g, '_$1s');
  //=> 'thi_is _is a t_est'

请注意,替换字符串中的$1将替换为原始正则表达式(第一个捕获组)中匹配的(.)

所以,你会使用:

abc.replace('T', 'A$$$$B');

两个$,每个都被另一个$转义。

如果您需要自动执行此操作(即您已有一个带替换字符串的变量),您可以使用:

var replStr = 'A$$B';
abc.replace('T', replStr.replace(/\$/g, '$$$$'));  // replace all $ with $$

答案 1 :(得分:2)

来自replace的文档,$$用于插入$

enter image description here

要插入$两个$,请使用$$$

abc.replace("T", "A$$$B"); `$$` ==> `$` and `$` ==> `$`

或者,您也可以使用$$$$

abc.replace("T", "A$$$$");