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
相关产品推荐
相关产品推荐

