JavaScript 字符串 lastIndexOf()

摘要: 本教程将教你如何使用 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)

输出

3Code language: JavaScript (javascript)

如果你将 fromIndex 参数传递给字符串,lastIndexOf() 方法将从 fromIndex 开始向后搜索,如下面的示例所示。

let str = 'JavaScript';
let index = str.lastIndexOf('a',2);

console.log(index);Code language: JavaScript (javascript)

输出

1Code language: JavaScript (javascript)

2) lastIndexOf() 和区分大小写

lastIndexOf() 是区分大小写的。以下示例返回 -1。

let str = 'Hello, World!';
let substr = 'L';

let index = str.lastIndexOf(substr);

console.log(index); // -1Code 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() 执行区分大小写的搜索。
本教程对您有帮助吗?