正则匹配-驼峰转换
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, ',');
}