我有一个字符串,包含用"|"分隔的文件名(包括完整的完整路径),末尾是一个数字,表示当前文件(用于播放器)。所以我只想用文件名保存它,但现在我必须使用match函数两次,一次用于分离,另一次用于剪切路径。我想知道是否以及如何可能只用一个来做到这一点。Ex。我有:
local s = "W:\Videos\Tokyo Ghoul\[Tokyo Ghoul][EP01]Tragedia.mkv|W:\Videos\Tokyo Ghoul\[Tokyo Ghoul][EP02]Incubación.mkv|W:\Videos\Tokyo Ghoul\[Tokyo Ghoul][EP03]Paloma.mkv|W:\Videos\Tokyo Ghoul\[Tokyo Ghoul][EP04]Cena.mkv|2";
所以我做:
for val in s:gmatch('(.-)|') do
print(val);
table.insert(list, {
type = "item",
icon = icon;
text = val:match(".*\(.*)")});
end
我收到:
[Tokyo Ghoul][EP01]Tragedia.mkv
[Tokyo Ghoul][EP02]Incubación.mkv
[Tokyo Ghoul][EP03]Paloma.mkv
[Tokyo Ghoul][EP04]Cena.mkv
我想要的只是只使用一个gmatch函数。希望有人能帮我。
尝试
for val in s:gmatch('.-\(%[.-)|') do
print(val)
end