JS字符串学习之计算给定字符的全部出现位置
时间:2021-08-27
来源:互联网
标签:
今天PHP爱好者给大家带来JS字符串学习之计算给定字符的全部出现位置的方法,在之前的文章《js怎么知道给定子串是不是存在》中,我们介绍了通过获取子串在字符串的第一次或最后一次出现位置的方法。这次我们加大难度,看看如何获取子串在字符串的所有出现位置。希望对大家有所帮助。
我们在之前的文章中了解到使用indexOf()和lastIndexOf()函数可以获取子串在第一次出现位置和最后一次出现位置;如果没有找到该子串,则返回-1。
而这两个函数都可接收可选的第二个参数start
,值只能是一个整数,表示从字符串中的哪个位置开始搜索,取值范围是 0
~ length-1
。lastIndexOf()如果指定了start参数,则在一个字符串中的指定位置从后向前搜索。
利用这个可选的第二个参数start和循环语句,我们就可以计算给定子串(包含一个或多个字符)的全部出现位置。
首先看看使用indexOf()是怎么统计给定字符在字符串的所有出现位置
var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
var positions = new Array();
var pos = stringValue.indexOf("e");
while(pos > -1){
positions.push(pos); //将出现位置赋给数组
pos = stringValue.indexOf("e",pos + 1); //从给定字符出现位置的后一位开始查找
}
console.log(positions);//"3,24,32,35,52"
分析:先使用indexOf("e")
获取第一次出现位置并赋值给变量pos;然后使用while语句通过循环调用indexOf(),不断将查找起始位置设置为“pos + 1
”,从给定字符出现位置pos的后一位开始查找,获取下一个出现位置;直到查找不到,返回-1结束。因此输出结果为:
可以看出,给定字符“e
”在字符串stringValue中一个出现了5次,因为字符串位置起始于 0,而不是 1,所以出现位置分别为3、24、32、35、52。
然后我们来看看使用lastIndexOf()是怎么统计给定字符在字符串的所有出现位置
var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
var positions = new Array();
var pos = stringValue.lastIndexOf("e");
while(pos > -1){
positions.push(pos);
pos = stringValue.lastIndexOf("e",pos - 1);
}
console.log(positions);//"3,24,32,35,52"
分析:使用lastIndexOf()获取所有出现位置其实和使用indexOf()差不多,只不过因为lastIndexOf()返回的是最后一次的出现位置,所以,每次循环,我们都要将查找的起始位置设置为“pos - 1”。
看看输出结果:
可以看出,获取到的给定字符“e”在字符串stringValue中所有出现位置是倒序的,顺序分别为:52、35、32、24、3。
以上就是JS字符串学习之计算给定字符的全部出现位置的详细内容,更多请关注php爱好者其它相关文章!
-
如何注册谷歌账号(谷歌账号注册方法) 怎么跳过手机验证 时间:2025-09-29
-
access数据库8个经典实例 时间:2025-09-29
-
mmc.exe是什么进程 mmc.exe应用程序错误的原因及解决方法 时间:2025-09-29
-
4种基本的编程命名规范介绍(匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法) 时间:2025-09-29
-
Ghostscript下载、安装教程 Ghostscript命令参数详解 时间:2025-09-29
-
Linux中内存管理NUMA架构详解 时间:2025-09-29
今日更新
-
揭秘网络四大梗:爆笑名场面背后的神转折,一次看懂全网热梗来龙去脉!
阅读:18
-
四大狗贼是什么梗?揭秘网络热词背后的爆笑真相,看完秒懂!
阅读:18
-
四大虐梗是什么梗?揭秘网络最扎心四大名场面,看完泪崩!
阅读:18
-
全境封锁手游需要什么配置-全境封锁手机配置
阅读:18
-
恋与制作人2025中秋节福利情报-登录可获得中秋赠礼
阅读:18
-
燕云十六声跑图长鸣玉获得方法-快速积攒长鸣玉
阅读:18
-
第五人格第四十赛季精华1时装囚徒黎明赋格设计公布
阅读:18
-
元梦之星美团皮肤怎么获取-圆梦美团皮肤获取
阅读:18
-
华夏绘世录中秋活动金秋献瑞明日开启-参与得奖励
阅读:18
-
QQ飞车T车孙悟空有什么特性-孙悟空赛车技能
阅读:18