JS中的replace和replaceAll

replace:

js中的replace方法如果直接使用比如:

str.replace("-","!");//把文本中的-符号替换成!

但你会发现上面这条语句只会替换第一个符合条件的。如果你想全部替换了请使用如下的表达式:

str.replace(/\-/g,"!");

这是利用了正则表达式。g的意思是全局。

replaceAll:

js中没有replaceAll,可以自己利用replace去实现的。

比如你可以在自己的js脚本库中去这样实现

1.这种效率比较低一些,相对于第二种来说:

1 String.prototype.replaceAll=function(find_text,replace_text){
2     return this.replace(new RegExp(find_text,"g"),replace_text);
3 };

g表名是 全部替换的意思。
调用的示例:

str.replaceAll("$","!");

2.这种相对于第一种效率比较低点,利用indexOf来实现:

1 function replaceAll(source_text,find_text,replace_text){
2     var i = 0;
3     while(source_text.indexOf(find_text,i) != -1){
4         source_text = source_text.replace(find_text,replace_text);
5         i = source_text.indexOf(find_text,i);
6     }
7     return source_text;
8 }

indexOf(find_text,index)的意思是在文本中查找find_text的存在位置,如果不存在就返回-1。

 

 

 

posted on 2013-12-19 15:40  划根火柴点根烟 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/muyu-jinyu/p/3482316.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值