javascript中indexOf()和lastIndexOf()查找字符串位置
来源:互联网 发布:酷宝数据 编辑:程序博客网 时间:2024/06/04 18:56
avascript从字符串中查找子字符串的方法:indexOf()和lastIndexOf()。
它们均是从一个字符串中搜索给定的字符串,然后返回子字符串的位置(如果没有子字符串的位置,则返回-1)。
区别在于:indexOf()方法从字符串的开头向后搜索字符串,而lastIndexOf()方法是从字符串的末尾向前搜索子字符串。
alert(stringValue.indexOf("o")); //4
alert(stringValue.lastIndexOf("o")); //7
子字符串“o”第一次出现的位置是4,即“hello”中的“o”;最后一次出现的位置是7,即“world”中的“o”。如果“o”在这个字符串中只出现了一次,那么indexOf()和lastIndexOf()会返回相同的位置值。
两个方法都可以接受可选的第二个参数,表示从字符串中的哪个位置开始搜索。
即,indexOf()会从该参数指定的位置向后搜索,忽略该位置之前的所有字符;
而lastIndexOf()则会从指定的位置向前搜索,忽略该位置之后的所有字符。
例子:
alert(stringValue.indexOf("o", 6)); //7
alert(stringValue.lastIndexOf("o", 6)) //4
在将第二个参数6传递给这两个方法之后,得到了与前面例子相反的结果。这一次,由于indexOf()是从位置6(字母“w”)开始向后搜索,结果在位置7找到了“o”,因此它返回7。而lastIndexOf()是从6开始向前搜索,结果找到了“hello”中的“o”,因此它返回4。在使用第二个参数的情况下,可以通过循环调用indexOf()或lastIndexOf()来找到所有匹配的子字符串。
例子:
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);
}
alert(positions); //"3,24,32,35,52"
代码说明:
不断增加indexOf()方法开始查找的位置,遍历了一个长字符串。
在循环之外,首先找到了“e”在字符串中的初始位置;
而进入循环后,则每次都给indexOf()传递上一次的位置加1。
这样,就确保了每次新搜索都从上一次找到字符串的后面开始。
每次搜索返回的位置一次被保存在数组positions中,以便将来使用。
- javascript中indexOf()和lastIndexOf()查找字符串位置
- javascript中indexOf()和lastIndexOf()查找字符串位置
- String对象,indexof和lastindexof查找字符串位置
- JavaScript字符串的查找,indexOf,lastIndexOf,search的区别
- JavaScript 字符串案例 indexOf lastIndexOf
- javascript indexOf() 和lastIndexOf()方法比较
- java中substring和indexof() 和lastindexof()
- java中substring和indexof() 和lastindexof()
- Java中substring和indexof() 和lastindexof()
- Java字符串——字符串的查找indexof(),lastindexOf()
- JAVA中indexOf函数和lastindexOf函数
- 小结indexOf()、lastIndexOf()位置方法
- 函数indexOf()和lastIndexOf()
- indexOf()和lastIndexOf()
- indexOf和lastIndexOf总结
- java中进行字符串替换.replace() .indexOf() .lastIndexOf() .substring()
- javascript 中indexof,lastindexof,substr,substring,charat的应用
- javascript的indexOf方法、lastIndexOf 方法和substring 方法
- 关于执行文件路径的变量 $PATH
- [caioj 1483,利用矩阵乘法解决的经典题目五]成群的细菌
- Asp.Net Core WebSocket绑定
- 使用Httpclient调用API的一些个人见解(返回的json)
- codefroces 841B Godsend
- javascript中indexOf()和lastIndexOf()查找字符串位置
- Jquery学习
- 支付宝小程序正式上线公测 附开发者工具和开发文档
- redis的API
- 剑指offer--对称的二叉树(递归)
- Dubbo之旅-启动解析-扩展spirng标签-阿里SOA服务化治理方案
- Node.js的安装和cnpm的配置
- Google账户 手机号无法验证
- Hive安装