用JS得到字符串中出现次数最多的字母
日期:2007年10月9日 作者: 查看:[大字体 中字体 小字体]-
网上有这样一道题目:
一个字符串String=“adadfdfseffserfefsefseetsdg”,找出里面出现次数最多的字母和出现的次数。解答思路为:取出字符串的第一个字符(首字母),利用的字符串的replace方法将符合正则表达式(第一个字符)替代为空,此字母出现的次数为原始的字符串长度减去替代后的字符串长度。循环迭代找出长度最长的字母。
<script type="text/javascript">
//<![CDATA[
var str ="adadfdfseffserfefsefseeffffftsdg"; //命名一个变量放置给出的字符串
var maxLength = 0; //命名一个变量放置字母出现的最高次数并初始化为0
var result = ''; //命名一个变量放置结果输入
while( str != '' ){ //循环迭代开始,并判断字符串是否为空
oldStr = str; //将原始的字符串变量赋值给新变量
getStr = str.substr(0,1); //用字符串的substr的方法得到第一个字符(首字母)
eval("str = str.replace(/"+getStr+"/g,'')"); //详细如补充
if( oldStr.length-str.length > maxLength ) { //判断原始的字符串的长度减去替代后字符串长度是否大于之前出现的最大的字符串长度
maxLength = oldStr.length-str.length; //两字符串长度相减得到最大的字符串长度
result = getStr + "=" + maxLength //返回最大的字符串结果(字母、出现次数)
}
}
alert(result) //弹出结果
//]]>
</script>
补充:eval("str = str.replace(/"+getStr+"/g,'')");
可能很多人想这样写str = str.replace(/getStr/g,''),可结果却是会出错的。为什么呢,在这句中正则表达式匹配的是getStr字符串,而不是getStr指向的首字母。通过eval方法可以避免(首先getStr得到指向的首字母,用字符串连接"str = str.replace(/"+getStr+"/g,'')",最后在eval中执行这段代码,即:先解释Javascript代码,然后再执行它)。
PS: 指出eval性能不好,容易出错,而且可读性不好。建议将eval("str = str.replace(/"+getStr+"/g,'')")改为:
str = str.replace(new RegExp(getStr,"g"),"")(出处:急速软件下载学院)
-
- 用JS得到字符串中出现次数最多的字母 相关文章:
- ·用JS得到字符串中出现次数最多的字母
- ·如何把工作表中的小写字母都变成大写?
- ·如果用JS得到字符串中出现次数最多的字母
- ·活用WPS表格转换为歌词句首字母改大写
- ·Jerry Kott梦想公园的字母长椅设计
- ·巧用命令行 揪出ARP欺骗病毒母机方法
- ·详解SQL Server 如何得到汉字的声母
- ·PHP实例:PHP取GB2312编码字符串首字母的方法
- ·取汉字拼音首字母的存储过程
- ·ASP中获取汉字拼音的第一个字母
- 用JS得到字符串中出现次数最多的字母 相关软件
- ·《星际争霸母巢之战》手速测试软件
- ·回味经典《星际争霸:母巢之战》开场动画
- ·《星际争霸:母巢之战》Replay
- ·一本绝对不能叫国内父母看到的留学小说《夏天的圣诞》
- ·母猪女郎
- ·父母恩重难报经
- ·神奇字母
- ·职业女婿VS刁蛮丈母娘之三十六计
- ·人类与大地母亲
- ·母鸡大反攻
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·如何实现一个表格表头不动tbody区域用滚动条可以滚动
- ·Js之软键盘实现(源码)
- ·javascript实现datagrid客户端checkbox列的全选,反选
- ·用window.location.href实现刷新另个框架页面
- ·用层模拟下拉列表框
- ·判断输入框不为空
- ·用JavaScript刷新框架子页面的方法
- ·JavaScript 经典代码大全
- ·禁用浏览器的后退按钮
- ·Javascript模拟的DOS窗口
- ·获取cpu序列号,硬盘ID,网卡MAC地址
- ·JavaScript教程:框架的概念及如何访问
- ·学习JavaScript里面的变量的应用
- ·Javascript强制设为首页的网页代码
- ·汇总:一些不错的使用频率比较高的JS函数
- ·网页两侧浮动广告代码
- ·一个兼容IE、Firefox和Opera浏览器的英文日历脚本
- ·漂浮广告代码完全解析
- ·javascript规定最多输入的字符串长度
- ·javascript的键盘控制事件
特别推荐
- ·网页制作Javascript经典小技巧总结
- ·JavaScript的9个陷阱及评点
- ·简单介绍用JSP来实现文件下载功能的几种方式
- ·网页播放器实现全屏的方法总结
- ·菜鸟学习javascript实例教程
- ·JavaScript 经典代码大全
- ·汇总:一些不错的使用频率比较高的JS函数
- ·Javascript模拟的DOS窗口
- ·Javascript在IE和FireFox中的不同表现
- ·JavaScript仿Windows关机效果
- ·仿windows选项卡效果拾零
- ·JavaScript经典效果集锦
- ·jscript/javascript条件编译
- ·Js之软键盘实现(源码)
- ·innerHTML在Firefox和Opera下的执行特例
- ·弹出窗口window.open()的参数列表
- ·javascript gb2312转utf-8
- ·JavaScript方法和技巧大全
- ·js事件列表
- ·网页屏蔽(左右键,代码等)的非JS方法
