js如何全部替代一个子串为另一个子串

本篇文章为大家展示了js如何全部替代一个子串为另一个子串,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

站在用户的角度思考问题,与客户深入沟通,找到高密网站设计与高密网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册网站空间、企业邮箱。业务覆盖高密地区。

如果需要全量替换字符串,可以使用 String.prototype.replace(re, replacer),其中正则表达式需要开启 global flag

const s = 'foo foo foo'
s.replce(/foo/g, 'bar')
 

那如题中,是否可以使用正则表达式来替代子串

答:「不可以,因为使用子串构建正则时,有可能有特殊字符」,如下

> 'hello. helloX hello3 '.replace(new RegExp('hello. ', 'g'), 'A')
< "AAA"
 

而在 javascript 中替换子串只能使用一种巧妙的办法:str.split('foo').join('bar')

> 'hello. hello. hello. '.split('hello. ').join('A')
< "AAA"
 

真是一个巧(笨)妙(拙)的办法啊!!!!!「大概 TC39 也意识到了一个问题,于是出了一个新的 API」,在 ESNext

String.prototype.replaceAll()

'aabbcc'.replaceAll('b', '.'); 
// 'aa..cc'

总结(及直接答案)

两种办法

  • str.split('foo').join('bar')
  • str.replaceAll('foo', 'bar'),在     ESNext 中,目前支持性不好
 

上述内容就是js如何全部替代一个子串为另一个子串,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


分享标题:js如何全部替代一个子串为另一个子串
文章起源:http://scyanting.com/article/ijpepo.html