`string.replace`不会更改变量
var variableABC = "A B C";
variableABC.replace("B", "D") // Wanted output: "A D C".
但variableABC
未更改:
console.log(variableABC); // "A B C"
我希望它是"A D C"
。
解决方案
根据Javascript标准,String.replace
不应该修改字符串本身。它只返回修改后的字符串。有关详细信息,请参阅Mozilla Developer Network documentation。
您始终可以将字符串设置为修改后的值:
variableABC = variableABC.replace('B', 'D')
编辑:上面给出的代码仅用于替换第一个匹配项。
要替换所有匹配项,您可以执行以下操作:
variableABC = variableABC.replace(/B/g, "D");
替换所有匹配项并忽略大小写
variableABC = variableABC.replace(/B/gi, "D");
相关文章