如何使用string.gsub在Lua中替换括号?

我有一个函数用于将一些单词替换为一些字符或数字。我使用string.gsub()函数这样实现:

string.gsub(line, "[0-9%a%s/,-]+", "\t")

这对含有数字、字母、空格、,/的字符串非常有效。我还想替换括号,如。但是,简单地将()插入模式中并不能奏效。我也尝试过使用%(%),但是不成功。如何使用string.gsub()方法中的模式替换Lua中的括号?

点赞
用户1516484
用户1516484

[]内需要转义的字符仅为 []%-,这些字符都需要用 % 转义。因此,如下转义 - 是可行的:

string.gsub(line, "[0-9%a%s/,%-()]+", "\t")

另外值得一提的是,[0-9%a] 等价于 [%d%a],也等价于 %w

2012-07-31 11:29:18