Javascript indexOf遍历查找所有子字符串出现的位置
好久没有更新了,六月份因为考试的缘故更是直接跳过了,前面浅浅的读了一下也不知道记些什么好,鉴于这个看着不错的样子就来mark一下。
indexOf()
方法,可以从一个字符串中搜索给定的子字符串,和他相反的是lastIndexOf()
,这个功能还算常见,正好码这段想到其他问题了,比如:
1var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
2var positions = new Array();
3var pos = stringValue.lastIndexOf("orem");
4
这段代码的运行结果如何呢,结果是1,而换成indexOf()
结果也是1,然后我尝试了不同的测试,似乎所谓的返回子字符串的位置是从打头的字符位置而定的(如果没找到则返回-1
)。
绕回正题,我们要匹配所有子字符串,其实就是要用到一个循环的结构。
书上是这么写的:
1var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
2var positions = new Array();
3var pos = stringValue.indexOf("e");
4
5while (pos > -1) {
6 positions.push(pos);
7 pos = stringValue.indexOf("e", pos + 1);
8}
9
10console.log(positions);
11
Now, you get it! PS:很久不写了,感觉用什么标签都不太清楚了
评论 (0)