所以,我无法弄清楚哪里出了问题?我知道.replace()
返回一个新的字符串,没有可变的变量。这真的很荒谬,但是我坚持了这一点。我需要在'2'上替换'$',但是它只是concat字符串,而不是替换值...
var answer_form = '$0';
var question_num = 2;
answer_form = answer_form.replace(/$/g, question_num);
console.log(answer_form);
答案 0 :(得分:3)
$
表示字符串的结尾。如果您不想使用正则表达式或不转义以下字符,请使用"
。
\$
答案 1 :(得分:0)
var answer_form = '$0';
var question_num = 2;
answer_form = answer_form.replace(/[$]/g, question_num);
console.log(answer_form);
答案 2 :(得分:-1)
var answer_form = '$0';
var question_num = 2;
answer_form = answer_form.replace(/\$/g, question_num);
console.log(answer_form);
方法中的第一个参数可以是正则表达式或String.replace
。
在您的示例中,您使用的是正则表达式,其中String
具有特殊的含义,它与字符串的结尾匹配。要匹配文字$
,必须使用$
进行转义,如以下示例-
\