Lua如何保留字符串的开头和结尾并删除中间部分

所以我有一个字符串,内容可能是动态的,如下所示,我正在努力找到一种方法来删除中间部分,但保留开头和结尾的所有内容。

字符串内容(列表,因为它是动态的并且经常更改,但字符串的特定元素和顺序始终相同):

/media/123-remove_this/keepthis
/media/1234.REMOVEME/keepthis
/media/12345azREMOVEME/keepthis

我想要的输出:

/media/123/keepthis
/media/1234/keepthis
/media/12345/keepthis

我的代码:

local string = "/media/123remove/lalalaja"
string = string:gsub(".*media-gallery/([0-9])","")
print(string)
点赞
用户2616735
用户2616735

如果你能假设每个输入字符串都以/media/和一些数字开头,然后以/和多个非斜线字母结束,那么你可以构造一个匹配整个字符串的模式,将它分成想要保留和想要丢弃的部分:

local keepBefore, discard, keepAfter = str:match "^(/media/%d+)(.*)(/[^/]+)$"
local newStr = keepBefore .. keepAfter
2018-08-19 01:31:24