1. js字符串方法
1 2 3 4 5 6 7 8 9 10
| function test(str){ var obj = {}; for(var i=0; i if ( obj[str[i]]) { obj[str[i]] ++; }else{ obj[str[i]] = 1; }; } return obj; }
|
2. 正则表达式处理
1 2 3 4 5 6 7 8 9 10 11
| function test(str){ var arr = str.split(''); arr.sort(); str = arr.join(''); var re = /(\w)\1+/g; var obj = {}; str.replace(re, function($0, $1){ obj[$1] = $0.length; }); return obj; }
|
正则表达式中的\1是第一个子项的复制。例如:/(5)\1/ 就表示匹配 “55”。