JS替换不能处理字符串
尝试用变量替换字符串中#的所有实例。 它没有工作,但也没有重新调整任何错误。
answer_form = ''+ ''; question_num = 5; answer_form.replace(/#/g, question_num);
哈希仍然存在。
不确定我错过了什么?
.replace()
返回一个新字符串(它不会修改现有字符串),因此您需要:
answer_form = answer_form.replace(/#/g, question_num);
您可能还应该将question_num
设为字符串,但自动类型转换可能会为您处理。
工作示例: http : //jsfiddle.net/jfriend00/4cAz5/
仅供参考,在Javascript中,字符串是不可变的 – 永远不会修改现有字符串。 所以任何修改字符串的方法(如concat
, replace
, slice
, substr
, substring
, toLowerCase
, toUpperCase
等等)总是会返回一个新的字符串。
你的代码是正确的。 只需将值添加到变量中,如下所示:
answer_form = ''+ ''; question_num = 5; answer_form = answer_form.replace(/#/g, question_num);