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

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

问题描述:

我有一个文本,如"Text the I need (extra descriptor) text",我想"Text the I need text"如何删除Lua中括号内的文字?

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

试试这个:

str = str:gsub('%b()', '') 

您需要Lua's special regex flavor一个不同的转义字符:

str:gsub('%([^)]*%)', "") 
+0

两者都是正确的。 – 2013-04-04 14:24:47

+0

@EgorSkriptunoff:谢谢。通常,在字符类中转义正则表达式元字符是不必要的,但我不确定如果Lua的行为如预期的那样。然后,我将删除第二个版本。 – 2013-04-04 14:26:27

记住这些都是模式不是正则表达式,所以你可以用%转义。我在开始括号中添加了一个前导空格,但是您可能想要删除它,然后单独删除双空格。

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