【JavaScript】你不全知道的replace的用法

前言:字符串方法replace相信大家都用过很多了,是个很实用的方法,但是你真的知道replace的全部用法吗?

一、简单字符替换

var str = "-moz-flex";
console.log(str.replace('-','&'));

输出结果

这个方法大家都知道,简单的将字符串中找到的第一个匹配字符进行替换。

二、配合正则进行字符替换

var str = "-moz-flex";
console.log(str.replace(/-/g,'&'));

输出结果

通过正则,找到所有匹配的字符,进行替换。

三、当第二个参数是函数时的用法

var str = "-moz-flex";
var str2 = str.replace(/-/g,function(all,index){
	console.log(all);	
	console.log(index);
	return '&';
});
console.log(str2);

输出结果

这是不难看出,回调函数中的第一个参数是正则匹配到的字符,第二个参数是该字符对应的索引值。

四、当第二个参数是函数时的第二种用法

var str = "-moz-flex";

var str3 = str.replace( /-([\da-z])/gi, function(all,letter){
	console.log(all);
	console.log(letter);
	return letter.toUpperCase();
});
console.log(str3);

console.log('-------分割线-------');

var str4 = str.replace( /-([\da-z]+)-/gi, function(all,letter){
	console.log(all);
	console.log(letter);
	return letter.toUpperCase();
});
console.log(str4);

输出结果:

这是会发现,当正则匹配到字符数不止一个的时候,回调函数的第二个参数不再是索引值了,而是去除特殊符号后的字母部分了。

猜你喜欢

转载自blog.csdn.net/w390058785/article/details/81185242
今日推荐