Js(一):replace替换字符串中所有的某个字符

今天因老师项目需要,在JavaScript中需要替换一段字符串中所有的指定字符串,给转义替换一下。刚开始有了思路逻辑之后,我以为用String.replace可以达到效果,使用后发现逻辑没有问题却怎么都达不到预期的效果。后来才知道js的replace只能替换第一个字符串,后来查找了一些API的资料才知道原来用<正则表达式>来实现替换所有字符串!

Replace(“字符串1″, “字符串2″)

JS中字符串替换函数是Replace(“字符串1″, “字符串2″),其意义是用字符串2将字符串1中的字符替换,但是这个函数只能将第一次出现的字符串1替换掉。

那么我们如何才能一次性全部替换掉了?

正则

replace如果替换数据时,默认只替换第一个。如果在替换的时候加上: / 替换内容 /g 就能实现全部替换。

例如:

function change(strvalue){
    strvalue = strvalue.replace(/&amp;/g,"&");
    strvalue = strvalue.replace(/&lt;/g,"<");
    strvalue = strvalue.replace(/&gt;/g,">");
    strvalue = strvalue.replace(/&quot;/g,"\"");
    strvalue = strvalue.replace(/&#39;/g,"'");
    return strvalue;
}

strvalue = strvalue.replace(/&lt;/g,"<");第一个参数的位置传递为正则表达的转义字符,注意该参数是不加引号的,这是一个容易掉进去的坑!找这个问题找了有个许久!

如果还不是很理解,下面给一个某博主的例子,个人认为比较形象:

var t = '***感**谢**有**你***';
var r = t.replace(/\*/g,''); //\为转义字符 g表示全局
console.log(r) //感谢有你
var t = '***感**谢**有**你***';
var r = t.replace('*',''); 
console.log(r) //感谢有你

其中,/g表示正则表达中的全局替换,/\表示转义字符,用/也可以。然后在控制台测试一下这两个例子你就体会得更清楚了~

我的应用如:

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值