英文 | https://www.javascripttutorial.net/
译文 | 杨小爱
在上节,我们学习了如何使用 JavaScript split() 方法将字符串拆分为子字符串数组,错过的小伙伴可以点击文章《【JavaScript 教程】第五章 字符串06— split():将字符串拆分为子字符串数组 》进行学习。
那么,在今天的教程中,我们将一起来学习如何使用 JavaScript 的indexOf()方法来查找字符串中子字符串的索引。
String.prototype.indexOf() 返回字符串 (str) 中第一次出现子字符串 (substr) 的索引:
如果 str 不包含 substr,则返回 -1。
fromIndex 是一个可选参数,用于指定搜索开始的索引。它默认为零 (0),这意味着如果您省略 fromIndex,搜索将从字符串的开头开始。
indexOf() 始终执行区分大小写的搜索。
要查找字符串中子字符串最后一次出现的索引,请使用 lastIndexOf() 方法。
JavaScript String indexOf() 示例
让我们举一些使用 indexOf() 方法的例子。
1) 使用 indexOf() 方法示例
以下示例使用 indexOf() 获取字符串 'finding substring in string' 中第一次出现子字符串 'str' 的索引:
2) 使用 indexOf() 计算字符串中子字符串的出现次数
下面的示例使用 indexOf() 方法计算字符串 'You don't know what you don't know until you know.' 中子字符串 'know' 的出现次数:
程序是怎么运行的:
首先,使用 indexOf() 方法查找 str 中第一次出现的 substr。
然后,使用while循环,从最后找到的位置+1开始,在str中重复查找substr的下一个位置。
3) indexOf() 和区分大小写
indexOf() 区分大小写。请参阅以下示例:
在这个例子中, indexOf() 返回 -1,因为字符串 JS IndexOf 不包含子字符串 js 而是 JS。
要对字符串中子字符串的索引执行不区分大小写的搜索,您可以在使用 indexOf() 方法之前将子字符串和字符串都转换为小写,如下所示:
总结
- indexOf() 返回字符串中子字符串第一次出现的索引,如果字符串不包含子字符串,则返回 -1。
- indexOf() 区分大小写。