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");
关于javascript - `string.replace` 不改变变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21162097/