You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lua字符串处理:获取最后一个'/'之后的子串

获取字符串最后一个'/'之后的内容

这里给你几种简单易懂的实现方式,不用纠结复杂的模式匹配语法也能搞定:

方法1:字符串分割法(最直观)

直接把字符串按'/'分割成列表,取列表最后一个元素即可,大多数编程语言都支持这种操作。

以Python为例:

s = "abcdefg/hijkl/123hgj-sg/diejdu/duhd3/zyxw"
result = s.split('/')[-1]
print(result)  # 输出: zyxw

如果字符串里没有'/',这个方法会直接返回原字符串,能兼容这种边界情况。

方法2:定位最后一个'/'的位置再切片

先找到最后一个'/'的索引,然后从索引+1的位置开始截取到字符串末尾:

Python示例:

s = "abcdefg/hijkl/123hgj-sg/diejdu/duhd3/zyxw"
last_slash_index = s.rfind('/')
result = s[last_slash_index + 1:] if last_slash_index != -1 else s
print(result)  # 输出: zyxw

rfind('/')会返回最后一个'/'的位置,找不到则返回-1,这里加了判断处理无'/'的场景。

方法3:正则表达式(适合需要模式匹配的场景)

如果你想了解正则的写法,这个表达式很简单:匹配字符串结尾处所有非'/'的字符。

Python示例:

import re
s = "abcdefg/hijkl/123hgj-sg/diejdu/duhd3/zyxw"
match = re.search(r'[^/]+$', s)
result = match.group() if match else s
print(result)  # 输出: zyxw

解释下正则[^/]+$:

  • [^/]:匹配任意不是'/'的字符
  • +:表示匹配前面的字符至少一次
  • $:表示匹配到字符串的结尾

内容的提问来源于stack exchange,提问作者DEMONVIC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:40:25