String.lastIndexOf() 从后往前查找子串位置

最后更新:2026-10-13

String.lastIndexOf() 从后往前查找子串位置

lastIndexOf 从字符串末尾向前查找子串,返回最后一次出现的起始下标;找不到返回 -1。参数可以是字符串,不支持正则。

分类字符串
ES 版本ES1(1997)

📝 语法

字符串.lastIndexOf(查找子串, 起始位置);

⚙️ 参数

searchString要查找的子串,区分大小写。
position可选。从此下标向前查找,默认从末尾开始。

返回值:最后一次出现的下标;找不到返回 -1。

是否修改原值:否(返回新值)

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

15
20
10
-1
💡 提示 取文件名常用 path.slice(path.lastIndexOf("/") + 1)。
⚠️ 警告 需要正则查找用 search;需要全部位置可用循环调用 indexOf。

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
String.lastIndexOf() ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v3
所有现代浏览器均支持
更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

QlastIndexOf 和 indexOf 的区别?
AindexOf 从前往后找第一次出现;lastIndexOf 从后往前找最后一次出现。
Q能传正则吗?
A不能,传正则会先被转成字符串(得到 "/abc/" 字面量)。正则查找请用 search。
Q找扩展名怎么写?
Aconst dot = name.lastIndexOf("."); const ext = dot > -1 ? name.slice(dot + 1) : "";
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏