字符串.replace()不适用于'$'符号

时间:2018-10-09 10:19:28

标签: javascript

所以,我无法弄清楚哪里出了问题?我知道.replace()返回一个新的字符串,没有可变的变量。这真的很荒谬,但是我坚持了这一点。我需要在'2'上替换'$',但是它只是concat字符串,而不是替换值...

var answer_form = '$0';

var question_num = 2;
answer_form = answer_form.replace(/$/g, question_num); 

console.log(answer_form);

3 个答案:

答案 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具有特殊的含义,它与字符串的结尾匹配。要匹配文字$,必须使用$进行转义,如以下示例-

\