【JavaScript 教程】第五章 字符串07— indexOf():获取字符串中子字符串第一次出现的索引
英文 | https://www.javascripttutorial.net/
译文 | 杨小爱
那么,在今天的教程中,我们将一起来学习如何使用 JavaScript 的indexOf()方法来查找字符串中子字符串的索引。
let index = str.indexOf(substr, [, fromIndex]);
如果 str 不包含 substr,则返回 -1。
fromIndex 是一个可选参数,用于指定搜索开始的索引。它默认为零 (0),这意味着如果您省略 fromIndex,搜索将从字符串的开头开始。
indexOf() 始终执行区分大小写的搜索。
要查找字符串中子字符串最后一次出现的索引,请使用 lastIndexOf() 方法。
JavaScript String indexOf() 示例
让我们举一些使用 indexOf() 方法的例子。
1) 使用 indexOf() 方法示例
以下示例使用 indexOf() 获取字符串 'finding substring in string' 中第一次出现子字符串 'str' 的索引:
let str = 'finding substring in string';
let index = str.indexOf('str');
console.log(index); // 11
2) 使用 indexOf() 计算字符串中子字符串的出现次数
下面的示例使用 indexOf() 方法计算字符串 'You don't know what you don't know until you know.' 中子字符串 'know' 的出现次数:
let str = 'You do not know what you do not know until you know.';
let substr = 'know';
let count = 0;
let index = str.indexOf(substr);
while(index !== -1) {
count++;
index = str.indexOf(substr, index + 1);
}
console.log(count);
程序是怎么运行的:
首先,使用 indexOf() 方法查找 str 中第一次出现的 substr。
然后,使用while循环,从最后找到的位置+1开始,在str中重复查找substr的下一个位置。
3) indexOf() 和区分大小写
indexOf() 区分大小写。请参阅以下示例:
let str = 'JS indexOf';
let substr = 'js';
let index = str.indexOf(substr);
console.log(index); // -1
在这个例子中, indexOf() 返回 -1,因为字符串 JS IndexOf 不包含子字符串 js 而是 JS。
要对字符串中子字符串的索引执行不区分大小写的搜索,您可以在使用 indexOf() 方法之前将子字符串和字符串都转换为小写,如下所示:
let str = 'JS indexOf';
let substr = 'js';
let index = str.toLocaleLowerCase().indexOf(substr.toLocaleLowerCase());
console.log(index); // 0
indexOf() 返回字符串中子字符串第一次出现的索引,如果字符串不包含子字符串,则返回 -1。
indexOf() 区分大小写。
如果你还想学习更多的内容,请点击下文链接进行学习。
【JavaScript 教程】第五章 字符串03— trim()、trimStart() 和 trimEnd()
【JavaScript 教程】第五章 字符串02— 字符串类型
【JavaScript 教程】第五章 字符串01— JavaScript 字符串
【JavaScript 教程】第四章 程序流程08— JavaScript continue 语句
学习更多技能
请点击下方公众号