首页 > 代码库 > 计算字符串中每个字符出现次数
计算字符串中每个字符出现次数
作者:zccst
思想原理:把字符串分割为数组,粒度为每一个字符。循环该数组,用正则替换原字符串对于字符,并计算替换前后字符串长度差值,即为该字符出现的次数。
另外,还可以对重复次数进行排序。
用到的知识点:
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);
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。