所以我有一个字符串,其内容可以是动态的,如下所示,我正在努力寻找一种方法来删除中间部分,但将所有内容保留在开头和结尾。
字符串内容(列表是动态的,并且会更改分配,但字符串的特定元素和顺序始终相同):
/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)
答案 0 :(得分:1)
如果您可以假设每个输入字符串都以/media/
开头,然后是一些数字,并以/
结尾,然后是多个非斜杠字母,那么您可以为整个字符串构造一个模式字符串,将其分成要保留的部分和要丢弃的部分:
local keepBefore, discard, keepAfter = str:match "^(/media/%d+)(.*)(/[^/]+)$"
local newStr = keepBefore .. keepAfter