JavaScript字符串相关题目

正则匹配-驼峰转换

function test(str) {
	var re = /-(\w)/g;
	return str.replace(re, function($0, $1){
		return $1.toUpperCase();
	});
}
test(str);
//border-bottom-color -> borderBottomColor

获取字符串中出现最多的字符和及其出现次数

function test(str) {
	var obj = {};
	var num = 0;
	var value = '';
	for(var i = 0; i < str.length;i++){
			if(!obj[str[i]]) {
				obj[str[i]] = [];
			}
			obj[str[i]].push(str[i]);
	}
	for(var attr in obj) {
		if(num < obj[attr].length){
			num = obj[attr].length;
			value = obj[attr][0];
		}
	}
	return '最多的字符是:' + value + ', 出现了:' + num;
}
//考虑正则
function test(str){
	var arr = str.split('');
	arr.sort();
	str  = arr.join('');
	var re = /(\w)\1+/;//\1代表和前面的匹配相同的项,+代表可以有多个
	var num = 0;
	var value = 0;
	str.replace(re, function($0, $1){
		if(num < $0.length) {
			num = $0.length;
			value = $1;
		}	
	});
	return '最多的字符是:' + value + ', 出现了:' + num;
}
//sjsjssksldjlf

给字符串加千分符

//123456 -> 123,456
 function test(str){
	var iNum = str.length % 3; // 0 , 1, 2
	var prev = '';
	var iNow = 0;
	var tmp = '';
	if(iNum != 0){
			prev = str.substring(0, iNum);
			arr.push(prev);
	}
	str = str.substring(iNum);
	for(var i = 0; i < str.length; i++) {
		iNow++;
		tmp += str[i];
		if(iNow == 3 && tmp) {
			arr.push(tmp);
			tmp = '';
			iNow = 0;
		}
	}
	return arr.join(',');
}
//正则实现
//(?=):前向声明
//(?!):反向声明
function test(str){
	var re = /(?=(?!\b)(\d{3})+$)/g;
	return str.replace(re, ',');
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值