var input = [paul, Paula, george];
var newReg = \paula?\i
for(var text in input) {
if (newReg.test(text) == true) {
input[input.indexOf(text)] = george
}
}
console.log(input)
我不知道我的代码有什么问题。它应该改变paul和Paula到乔治,但当我运行它时,它说有一个非法的角色
答案 0 :(得分:0)
反斜杠(\)是Javascript中的转义字符(以及许多其他类C语言)。这意味着当Javascript遇到反斜杠时,它会尝试转义以下字符。例如,\ n是换行符(而不是反斜杠后跟字母n)。
那么,那就是导致错误的原因,您需要将\paula?\i
替换为/paula?/i
答案 1 :(得分:0)
您需要在正则表达式模式中将\
替换为/
。
您应该将字符串包装在引号"
你需要正确匹配你的数组,val
只是单词的索引,而不是单词本身。
var input = ["paul", "Paula", "george"];
var newReg = /paula?/i;
for (var val in input) {
if (newReg.test(input[val]) == true) {
input[input.indexOf(input[val])] = "george";
}
}
console.log(input);