JavaScript实现字符串全部替换replaceAll

文章目录

  • 问题描述
  • 解决方案
  • 代码
  • 参考文献

问题描述

JavaScript自带的replace()只会替换一个匹配到的

var s1 = "/inform{'time': '今天'}";
console.log(s1.replace("'", '"'));  // 单引号替换为双引号,只会替换一个
// /inform{"time': '今天'}




解决方案

  1. 定义函数,String.prototype.replaceAll
  2. 添加正则表达式为全局模式




代码

/*字符串replaceAll*/
String.prototype.replaceAll = function (s1, s2) {
    return this.replace(new RegExp(s1, "gm"), s2);
};

var s1 = "/inform{'time': '今天'}";
console.log(s1.replace("'", '"'));  // 单引号替换为双引号,只会替换一个
console.log(s1.replaceAll("'", '"'));  // 单引号替换为双引号,全部替换




参考文献

  1. js使用正则实现ReplaceAll全部替换的方法

你可能感兴趣的:(前端)