如何删除Lua中最后一个匹配字符之前的所有字符

时间:2018-12-18 02:14:05

标签: lua pattern-matching

所以我对Lua模式匹配有些困惑。我有一个脚本来记录用MPV播放的视频的历史记录,但是我不需要那里的完整路径,仅文件名就足够了,因此我想删除最后/个字符之前的所有内容。在Python中,我会做简单的

filename = re.sub(r'.*/', '', path)

但是我使用Lua模式匹配却失败了。怎么做到的?

示例输入和期望的输出:

>>> path = "/some/path/to/file.mkv"
>>> filename = re.sub(r'.*/', '', path)
>>> filename
'file.mkv'

1 个答案:

答案 0 :(得分:2)

似乎我已经自己弄清楚了,哦。使用了这种模式:

path = "/path/to/some/file"
filename = path:gsub(".*/", "")

文件名现在仅包含“文件”。

编辑:根据建议,我将path:gsub("(.*).*/",'')更改为path:gsub(".*/", ""),因为它的语法更易读。