js截取字符串指定字符之间的部分,js获取字符串后几位
在之前的文章《js怎么知道给定子串是不是存在》中,我们介绍了获取字符串中子串的第一个或最后一个出现位置的方法。这一次,我们增加难度,看看如何获取字符串中substring的所有出现次数。
在上一篇文章中,我们了解到使用indexOf()和lastIndexOf()函数可以得到substring的第一个和最后一个出现位置;如果找不到子字符串,则返回-1。
这两个函数都可以接收可选的第二个参数start,它的值只能是一个整数,表示在字符串中从哪里开始搜索。取值范围为0 ~ length-1。LastIndexOf()如果指定了start参数,则在字符串中的指定位置从后向前搜索。
使用这个可选的第二个参数start和loop语句,我们可以计算给定子串(包含一个或多个字符)的所有出现位置。
首先,让我们看看如何使用indexOf()来统计给定字符在字符串中的所有出现次数。
var string value= Lorem ipsum dolor sit amet,consecteter adipsing elit ;
var positions=新数组();
var pos=string value . index of( e );
while(位置1){
poses . push(位置);//将出现位置分配给数组
pos=stringValue.indexOf(e ,pos 1);//从给定字符出现的最后一位开始搜索。
}
console.log(持仓);//3,24,32,35,52 分析:先用indexOf(e )得到第一个出现的pos并将它赋给变量pos然后用while语句循环调用indexOf(),不断将搜索起始位置设置为“pos 1”,从给定字符的出现位置pos的最后一个位置开始搜索,获得下一个出现位置;直到找不到为止,返回-1结束。因此,输出结果是:
可以看到,给定的字符“e”在字符串stringValue中出现了五次。因为字符串位置从0开始,而不是从1开始,所以出现位置分别是3、24、32、35和52。
然后,让我们看看如何使用lastIndexOf()来计算一个字符串中给定字符的所有出现次数。
var string value= Lorem ipsum dolor sit amet,consecteter adipsing elit ;
var positions=新数组();
var pos=string value . lastindexof( e );
while(位置1){
poses . push(位置);
pos=stringValue.lastIndexOf(e ,pos-1);
}
console.log(持仓);//3,24,32,35,52 解析:使用lastIndexOf()获取所有的出现位置其实和使用IndexOf()类似,只不过因为lastIndexOf()返回的是最后一次出现的位置,所以每次循环的时候我们都要把搜索的起始位置设置为“pos-1”。
看看输出:
可以看出,获得的给定字符“e”在字符串stringValue中的所有出现都是逆序的,顺序分别为52、35、32、24和3。
好了,就这样。有需要的可以看看:javascript高级教程。以上是JS字符串学习计算给定字符所有出现位置的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。