我刚开始学习JavaScript。我有一个String
var str2= "1 dollor plus 2 dollor equal 3 dollor";
我想转换成
$1 plus $2 equal $3
所以我使用函数Replace()像这样:
str2 = str2.replace(/(d+)s/g, '$$&");
str2 = str2.replace(/dollor/g, '');
但是我得到这个str:
$& plus $& equal $&
我这样修改我的代码:
str2 = str2.replace(/(d+)s/g, '$'+"$&");
它不工作。我知道我的问题可能很蠢。但是我真的不知道为什么""不能转义"$"。原谅我的英语不好!
根据这里的文档,$
的替换字符串是$$
,而不是$
。考虑到这一点,在您的第一个替换行中使用以下命令来生成您想要的输出:
str2 = str2.replace(/(d+)s/g, '$$$&');
这样做:
var str2= "1 dollor plus 2 dollor equal 3 dollor";
str2 = str2.replace(/(d+)s/g, function replaceWithReposition(x){return "$" + x});
我为你准备了一把小提琴:https://jsfiddle.net/mez2yqb1/