好记性不如烂笔头

有人的地方就有江湖。。。。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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  划根火柴点根烟  阅读(1569)  评论(0编辑  收藏  举报