js 实现replaceall
在 JavaScript 中,replace 方法默认只会替换第一个匹配项。要实现 replaceAll 功能,可以使用以下方法:
使用正则表达式全局替换
通过正则表达式搭配 g 标志实现全局替换:
const str = "apple orange apple";
const result = str.replace(/apple/g, "banana");
console.log(result); // "banana orange banana"
使用 split 和 join
通过 split 分割字符串后,用目标字符串 join 合并:
const str = "apple orange apple";
const result = str.split("apple").join("banana");
console.log(result); // "banana orange banana"
ES2021 的 replaceAll 方法
现代浏览器和 Node.js 支持原生 replaceAll:
const str = "apple orange apple";
const result = str.replaceAll("apple", "banana");
console.log(result); // "banana orange banana"
注意事项
- 使用正则表达式时,若替换内容包含特殊字符(如
.、*),需转义:const str = "1.2.3"; const result = str.replace(/\./g, "-"); console.log(result); // "1-2-3" replaceAll需环境支持 ES2021,旧环境需通过 polyfill 或前两种方法实现。







