如何在Lua中删除括号内的文本?

我有一个文本,如 "Text the I need (extra descriptor) text",我想要的是"Text the I need text"

我尝试过使用str:gsub('\([^)]*\)', ""),但由于某种原因无法工作。

点赞
用户20670
用户20670

你需要另外一个转义字符来使用Lua的特殊正则表达式:

str:gsub('%([^)]*%)', "")
2013-04-04 11:58:13
用户1847592
用户1847592

尝试这个:

str = str:gsub('%b()', '')
2013-04-04 12:00:46
用户438753
用户438753

记住这些是模式,而不是正则表达式,所以你可以用%转义。我在开头的括号加了一个空格,但你可能想要去掉,然后再单独删除双空格。

str ="Text the I need (extra descriptor) text (more brackets)"
str = str:gsub(' %(.-%) ','')
print(str)
2013-04-04 12:06:26