我有一个字符串,其中包含以“|”分隔的文件名(包括完整的完整路径),最后是一个表示当前文件的数字(用于播放器)。 所以我只想保留它的文件名,但是现在我必须使用匹配功能2次,一次用于分离,另一次用于切断路径。我想知道是否以及如何只用一个来做到这一点。 防爆。 我有:
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功能。希望有人可以帮助我。
答案 0 :(得分:1)
尝试
for val in s:gmatch('.-\\(%[.-)|') do
print(val)
end