Javascript indexOf遍历查找所有子字符串出现的位置
好久没有更新了,六月份因为考试的缘故更是直接跳过了,前面浅浅的读了一下也不知道记些什么好,鉴于这个看着不错的样子就来mark一下。
indexOf()
方法,可以从一个字符串中搜索给定的子字符串,和他相反的是lastIndexOf()
,这个功能还算常见,正好码这段想到其他问题了,比如:
var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
var positions = new Array();
var pos = stringValue.lastIndexOf("orem");
这段代码的运行结果如何呢,结果是1,而换成indexOf()
结果也是1,然后我尝试了不同的测试,似乎所谓的返回子字符串的位置是从打头的字符位置而定的(如果没找到则返回-1
)。
绕回正题,我们要匹配所有子字符串,其实就是要用到一个循环的结构。
书上是这么写的:
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);
Now, you get it!
PS:很久不写了,感觉用什么标签都不太清楚了
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。