replace的用法

String.prototype.replace(参数1,参数2)

返回新的字符串,原来的字符串不会发生改变

      const str = "我想你";
      const result = str.replace("想", "爱");
      console.log(str, result);  // 我想你 我爱你

第一个参数为匹配模式:模式可以是一个字符串或者正则表达式

第二个参数为替换值:替换值可以是一个字符串或者一个每次匹配都要调用的回调函数

replace搭配正则的使用

1)整个字符串去精准匹配-替换

      const str = "我想你,好想你,我真的好想打你";
      const result = str.replace(/想你/g, "恨他");
      console.log(result);   // 我恨他,好恨他;我真的好想打你

这里replace使用了正则进行全局的精准匹配,所有的”想你“两个字,都被替换成了”恨他“

2)将每一个字进行匹配-替换

这是第二个参数为一个函数,函数将前面用来匹配的字符串,替换成新的字符串

      const str = "我想你,好想你,我真的好想打你";
      const result = str.replace(/[想你]/g, (item) => `<em>${item}</em>`);
       console.log(result)

//  我想你,好想你,我真的好想打你 我<em>想</em><em>你</em>,好<em>想</em><em>你</em>,却不     露痕迹;我真的好<em>想</em>打<em>你</em>

这两种是常用的匹配替换,搜索高亮经常用

如果想要在正则中使用变量,就要使用 new RegExp() 来生成正则了

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐