当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用JS得到字符串中出现次数最多的字母

Javascript
javascript实现的鼠标悬停时动态翻滚的导航条
通过隐藏option实现select的联动效果
jquery 输入框数字限制插件
文字来回上下移动或跳动的代码
JS旋转的彩色文字轮转特效
不一样的文字闪烁 轮番闪烁
Javascript 解疑
jQuery 白痴级入门教程
Jquery在IE7下无法使用 $.ajax解决方法
javascript 日期常用的方法
ASP中进行HTML数据及JS数据编码函数
JS 中document.URL 和 windows.location.href 的区别
跨域表单提交状态的变相判断代码
JS解析XML的实现代码
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
Javascript 定时器调用传递参数的方法
把html页面的部分内容保存成新的html文件的jquery代码
XHTML下,JS浮动代码失效的问题
两个select之间option的互相添加操作(jquery实现)
Jquery 获取表单text,areatext,radio,checkbox,select值的代码

Javascript 中的 用JS得到字符串中出现次数最多的字母


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 401 ::
收藏到网摘: n/a

一个字符串String=“adadfdfseffserfefsefseetsdg”,找出里面出现次数最多的字母和出现的次数。 经典的解答思路为:取出字符串的第一个字符(首字母),利用的字符串的 replace 方法将符合正则表达式(第一个字符)替代为空,此字母出现的次数为原始的字符串长度减去替代后的字符串长度。循环迭代找出长度最长的字母。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

补充:
复制代码 代码如下:

eval("str = str.replace(/"+getStr+"/g,'')");

可能很多人想这样写 str = str.replace(/getStr/g,”),可结果却是会出错的。为什么呢,在这句中正则表达式匹配的是 getStr 字符串,而不是 getStr 指向的首字母。通过 eval 方法可以避免(首先 getStr 得到指向的首字母,用字符串连接 “str = str.replace(/”+getStr+”/g,”)”,最后在 eval 中执行这段代码,即:先解释Javascript 代码,然后再执行它)。
由于 eval 性能不好,容易出错,而且可读性不好。建议将 eval(”str = str.replace(/”+getStr+”/g,”)”) 改为:
str = str.replace(new RegExp(getStr,"g"),"")