JS 查找字符串最后一次出现的位置
在 JavaScript 中我们经常需要查找字符串中某个子字符串最后一次出现的位置。这样的需求在实际项目中是很常见的,比如我们想要获取一个文件的扩展名,就需要找到最后一个出现的.
符号所在的位置。
本文将详细介绍如何在 JavaScript 中查找字符串中子字符串最后一次出现的位置,并且给出示例代码以帮助读者更好地理解和应用这一技巧。
使用lastIndexOf
方法
JavaScript 中提供了lastIndexOf
方法来帮助我们查找字符串中某个子字符串最后一次出现的位置。这个方法会从字符串的末尾开始向前查找,返回第一次出现该子字符串的位置。
lastIndexOf
方法的语法如下:
str.lastIndexOf(searchValue[, fromIndex])
searchValue
:要查找的子字符串。fromIndex
:可选参数,从该索引处开始向前查找。
示例代码如下:
let str = "Hello, world!";
let lastIndex = str.lastIndexOf("o");
console.log(lastIndex); // 输出 8
在上面的示例中,我们先定义了一个字符串str
,然后使用lastIndexOf
方法查找子字符串"o"
最后一次出现的位置,并将结果打印到控制台中。由于"o"
最后一次出现在索引为8的位置,因此最终输出的结果为8
。
实现一个查找最后一次出现位置的函数
除了使用lastIndexOf
方法,我们还可以自己实现一个查找字符串中子字符串最后一次出现位置的函数,以增强我们的编程能力。
下面是一个简单的实现:
function lastIndexOf(str, searchValue) {
for (let i = str.length - 1; i >= 0; i--) {
if (str.slice(i, i + searchValue.length) === searchValue) {
return i;
}
}
return -1;
}
let str = "Hello, world!";
let lastIndex = lastIndexOf(str, "o");
console.log(lastIndex); // 输出 8
在上面的代码中,我们定义了一个lastIndexOf
函数,它接受一个字符串str
和要查找的子字符串searchValue
作为参数。函数会从字符串的末尾开始向前遍历,比较子字符串是否匹配。如果找到匹配的位置则返回该位置,如果遍历完整个字符串还没有找到则返回-1
。
结语
本文详细介绍了在 JavaScript 中查找字符串中子字符串最后一次出现的位置的方法,包括使用lastIndexOf
方法和自己实现一个查找函数。掌握这些技巧对于处理字符串相关问题会非常有帮助。