【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);

输出结果:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值