首页 > 编程笔记 > JavaScript笔记

JS indexOf()和lastIndexOf():字符串查找

JavaScript indexOf() 和 lastIndexOf() 都是用来查找指定字符串在字符串中的位置的。

indexOf() 方法

indexOf() 的用法为:

str.indexOf( str1 [,startIndex] )


功能:用于从指定的 startIndex 位置开始从左往右查找字符串 str1 在 str 字符串中的位置,并返回 str 字符串内第一次出现字符串 str1 的首个字符在 str 字符串中的索引值;如果找不到 str1 字符串,则返回-1。

对象/参数说明:
参数注意事项如下:
indexOf() 的应用示例如下:
var str = "How do you do";
console.log("'do'在str字符串中第一次出现的位置是:"+str.indexOf("do"));
console.log("从str字符串的第6个字符开始查,'do'在字符串中的位置是:"+str.indexOf("do",5));
console.log("空字符串在str字符串中的位置是:"+str.indexOf(""));
console.log("空格字符串在str字符串中的位置是:"+str.indexOf(" "));
console.log("从str字符串的索引值-3开始查,'o'在字符串中的位置是:"+str.indexOf('o',-3));
console.log("'@'在'nch@163.com'中的位置是:"+"nch@163.com".indexOf('@'));
上述代码 Chrome 浏览器控制台上运行后的结果如图 1 所示。
indexOf()的运行结果
图 1:indexOf() 的运行结果

lastIndexOf() 方法

lastIndexOf() 的用法为:

str.lastIndexOf( str1 [,startIndex] )


功能:用于从指定的 startIndex 位置开始从右往左查找字符串 str1 在 str 字符串中的位置,并返回 str 字符串内最后一次出现 str1 字符串的首个字符在 str 字符串中的索引值;如果找不到 str1 字符串,则返回 -1。

参数含义和注意事项和 indexOf() 方法的完全相同,在此不再赘述。

lastIndexOf() 的应用示例如下:
var str = "How do you do";
console.log("'do'在str字符串中最后一次出现的位置是:"+str.lastIndexOf("do"));
console.log("从str字符串的第6个字符开始查,'do'在字符串中最后一次出现的位置是:"+
             str.lastIndexOf("do",5));
console.log("空字符串在str字符串中最后一次出现的位置是:"+str.lastIndexOf(""));
console.log("空格字符串在str字符串中最后一次出现的位置是:"+str.lastIndexOf(" "));
console.log("从str字符串的索引值100开始查,'o'在字符串中最后一次出现的位置是:"+
             str.lastIndexOf('o',100));
上述代码 Chrome 浏览器控制台上运行后的结果如图 2 所示。
lastIndexOf()的运行结果
图 2:lastIndexOf() 的运行结果

indexOf() 和 lastIndexOf() 使用建议:虽然这两个方法的第二个参数为任意整数,但建议最好为非负数且值不超过字符中的最大索引值;第一个参数则最好为非空字符串,否则查找没有意义。

所有教程

优秀文章