replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

stringObject.replace(reg/str,str/replacement);

这里主要讲一下replacement的用法,

对replace用法做到收放自如主要难点就在replacement上了,

先看个例子1:

(function(){

    var str="Aa1 Ba1 Ca1";

    str.replace(/[a][1]/g,function(){return "--"});

})()

结果是A-- B-- C--

这是最基础的replacement的用法,把a1替换成了--;

 

再看个例子2:

(function(){

     var str="Aa1 Ba1 Ca1";

     str.replace(/[a][1]/g,function(x){

       return x+'--';

});     

})();

结果是:Aa1-- Ba1-- Ca1--

发现点了什么吧,replacement这里的函数是对匹配到的元素进行加工的;记住正则里面要用全局搜索标示符g;

 

再看个例子3(前面做的练习都是为了写这个方法):

function reg(a){
var pattern=/[\{][\d][\}]/g,

args=Array.prototype.slice.call(arguments),
str=args[0],
arr=args.slice(1),
flag=-1;

alert(args.length)

return str.replace(pattern,function(q){
flag++;
return q.replace(q,arr[flag]);
});
}

reg("hello {1},my name is {2}","world","lu")

 

 

这个例子不做解释了,感兴趣的看看它在做什么吧,对replace的理解有帮助的

 

posted on 2014-09-23 11:44  mrbenlearnjs  阅读(117)  评论(0编辑  收藏  举报