摘要: 本教程将教你如何使用 JavaScript 字符串的 lastIndexOf()
方法来定位字符串中子字符串的最后一次出现。
JavaScript 字符串 lastIndexOf() 方法介绍
String.prototype.lastIndexOf()
返回子字符串 (substr
) 在 字符串 (str
) 中最后一次出现的索引。
str.lastIndexOf(substr, [, fromIndex]);
Code language: JavaScript (javascript)
如果 str
不包含 substr
,则返回 -1。
lastIndexOf()
方法从 fromIndex
开始向后搜索子字符串。fromIndex
是可选的,默认值为 +Infinity
。这意味着如果你省略 fromIndex
,搜索将从字符串的末尾开始。
如果 fromIndex
大于或等于 str.length
,则 lastIndexOf()
将在整个字符串中搜索 substr
。
如果 fromIndex
小于零,则搜索行为与 fromIndex
为零时相同。
lastIndexOf()
始终执行区分大小写的搜索。
要查找子字符串在字符串中第一次出现的索引,可以使用 lastindexOf()
方法。
JavaScript 字符串 lastIndexOf() 示例
让我们来看一些使用 lastIndexOf()
方法的例子。
1) 使用 lastIndexOf() 方法
此示例使用 lastIndexOf()
方法来定位子字符串 'a'
在字符串 'JavaScript'
中最后一次出现的索引。
let str = 'JavaScript';
let index = str.lastIndexOf('a');
console.log(index);
Code language: JavaScript (javascript)
输出
3
Code language: JavaScript (javascript)
如果你将 fromIndex
参数传递给字符串,lastIndexOf()
方法将从 fromIndex
开始向后搜索,如下面的示例所示。
let str = 'JavaScript';
let index = str.lastIndexOf('a',2);
console.log(index);
Code language: JavaScript (javascript)
输出
1
Code language: JavaScript (javascript)
2) lastIndexOf() 和区分大小写
lastIndexOf()
是区分大小写的。以下示例返回 -1。
let str = 'Hello, World!';
let substr = 'L';
let index = str.lastIndexOf(substr);
console.log(index); // -1
Code language: JavaScript (javascript)
要执行不区分大小写的搜索以查找子字符串在字符串中最后一次出现的索引,可以在应用 lastIndexOf()
方法之前将子字符串和字符串都转换为小写,如下所示。
let str = 'Hello, World!';
let substr = 'L';
let index = str.toLocaleLowerCase().lastIndexOf(substr.toLocaleLowerCase());
console.log(index); // -1
Code language: JavaScript (javascript)
总结
lastIndexOf()
返回子字符串在字符串中最后一次出现的索引,如果字符串不包含子字符串,则返回 -1。它从字符串的末尾或fromIndex
(如果此参数可用)开始向后搜索子字符串。lastIndexOf()
执行区分大小写的搜索。