计算字符串中每个字符出现次数
2014-04-30 10:49
369 查看
作者:zccst
思想原理:把字符串分割为数组,粒度为每一个字符。循环该数组,用正则替换原字符串对于字符,并计算替换前后字符串长度差值,即为该字符出现的次数。
另外,还可以对重复次数进行排序。
用到的知识点:
1,正则表达式。基本写法,RegExp,replace的用法。
2,数组中的sort。自定义函数排序。(sort默认按字符编码排序)
思想原理:把字符串分割为数组,粒度为每一个字符。循环该数组,用正则替换原字符串对于字符,并计算替换前后字符串长度差值,即为该字符出现的次数。
另外,还可以对重复次数进行排序。
用到的知识点:
1,正则表达式。基本写法,RegExp,replace的用法。
2,数组中的sort。自定义函数排序。(sort默认按字符编码排序)
function charCntInString (argument) { var str = argument,result = [],beforeLen,afterLen; str = str.replace(/( |,)/ig, ""); var strArr = str.split(""); for (var i = 0; i < strArr.length; i++) { //str里的长度一直在变化。strArr里的字符可能在str里多次,但只有第一次匹配 if(str.indexOf(strArr[i]) != -1){ beforeLen = str.length; var reg = new RegExp(strArr[i], "ig"); str2 = str.replace(reg,"");//字符串变短 afterLen = str2.length; result.push(strArr[i]+":"+(beforeLen-afterLen)); str = str2; } } return result.sort(sortNum); } function sortNum (p1,p2) { var n1 = p1.split(":")[1]; var n2 = p2.split(":")[1]; return n2-n1;//从大到小 从小到大n1-n2; } //var s = "This section of the site is dedicated to the JavaScript language itself, the parts that are not specific to Web pages or other host"; var s = "hello,world"; var ret = charCntInString(s); console.log(ret);
相关文章推荐
- 用es6的Array.reduce()方法计算一个字符串中每个字符出现的次数
- 计算字符串中每个字符出现的次数
- C# 计算字符串中每个字符出现的次数
- JavaScript计算字符串中每个字符出现的次数
- JavaScript计算字符串中每个字符出现次数的小例子
- 计算字符串中每个字符出现的次数
- 计算给定字符串中每个字符出现的次数,并以指定格式输出,例如aabbbc输出a2b3c1(java语言)
- php如何计算一个字符串的每个字符出现的次数
- JavaScript计算字符串中每个字符出现次数的小例子
- 计算一个字符串中每个字符出现的次数
- 计算字符串中每种字符出现的次数(面试题)
- 【面试题】求一个字符串每个字符的出现次数
- 统计字符串中每个字符出现的次数 打印结果是:a(2)b(1)
- 计算每个字符出现的次数(两种方法)
- 统计字符串中每个字符出现的次数
- 打印出在字符串中每个字符出现的次数(HashMap+String)
- 第十三周 项目五--字符串操作(1.3)统计每个字符出现次数
- 统计字符串中每个字符出现的次数
- Java - 统计字符串中每个字符出现次数
- 计算字符串中每个字符出现的个数