请选择 进入手机版 | 继续访问电脑版

如何替换JavaScript中所有出现的字符串

前端开发  / Javascript  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2020-5-13

跳转到指定楼层

找出从正则表达式到其他方法替换纯JavaScript中所有出现的字符串的正确方法

使用正则表达式

这个简单的正则表达式将完成以下任务:

String.replace(/<TERM>/g, '')

这将执行区分大小写的替换。

这是一个示例,其中我替换字符串中所有出现的“ dog”一词phrase

const phrase = 'I love my dog! Dogs are great'
const stripped = phrase.replace(/dog/g, '')

stripped //"I love my ! Dogs are great"

要执行不区分大小写的替换,请使用i正则表达式中的选项:

String.replace(/<TERM>/gi, '')

例:

const phrase = 'I love my dog! Dogs are great'
const stripped = phrase.replace(/dog/gi, '')

stripped //"I love my ! s are great"

请记住,如果字符串包含一些特殊字符,则它不能与正则表达式一起使用,因此建议使用此函数对字符串进行转义(取自MDN):

const escapeRegExp = (string) => {
  return string.replace(/[.*+?^${}()|[]\]/g, '\$&')
}

使用拆分和联接

尽管比正则表达式要慢,但另一种解决方案是使用两个JavaScript函数。

第一个是split(),在找到模式(区分大小写)时会截断字符串,并返回带有令牌的数组:

const phrase = 'I love my dog! Dogs are great'
const tokens = phrase.split('dog')

tokens //["I love my ", "! Dogs are great"]

然后,将令牌连接到新字符串中,这次没有任何分隔符:

const stripped = tokens.join('') //"I love my ! Dogs are great"

包起来:

const phrase = 'I love my dog! Dogs are great'
const stripped = phrase.split('dog').join('')
转播转播
回复

使用道具

成为第一个评论人

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

damonare

网站编辑

  • 主题

    267

  • 帖子

    269

  • 关注者

    0

手机版|ObjectX 超对象 |粤ICP备20005929号
Powered by  © 2019-2020版权归ObjectX 超对象