javascript中的字符串处理方法replace一般情况下我们都知道它有两个参数,一个是正则,第二个是用来替换的字符串。其实第二个参数也可以是个方法,这个方法会被自动运行,把运行的返回值当做替换的字符串。看下面的面试题【珠峰培训培训课堂示例】
面试题:
请使用正则表达式,来将如下的字符串中的占位符都换成数组中的内容,字符串为:My name is{0}.I am{1} years old.I am in class{2} grade{3}.给定的数组为:
var arrayx=new Array();
arrayx[0]='lilei';
arrayx[1]=13;
arrayx[2]=4;
arrayx[3]=6;
这个面试题就要用到字符串处理方法replace的另外一种用法,这个方法的第二个参数可以是一个方法,答案如下:
var reg=/{\d}/g;//正则,用来匹配字符串里的花括号和花括号里的数字
var i=0;
var str2=str.replace(reg,function(){
i++;
return ' '+ arrayx[i-1]
});
alert(str2);
不 用正则表达式的方法【陈雪兰同学提供】:
for(var i=0;i<arrayx.length;i++){
str = str.replace('{'+i+'}', arrayx[i]);
}