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

时间:2012-07-31 09:22:27

标签: lua string-substitution lua-patterns

我有一个函数用于替换一些带有几个字符或数字的单词。我以这种方式使用string.gsub()函数:

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

对于包含数字,字母,空格,,/的字符串,这非常有效。我还想替换()等括号。但只是将()插入我的模式不起作用。我也试过%(%),但没有成功。如何使用string.gsub()方法中的模式替换Lua中的括号?

1 个答案:

答案 0 :(得分:2)

需要在[]内转义的唯一字符是[]%-,所有这些字符都使用%进行转义。因此,如下所示转义-

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

值得一提的是,[0-9%a]相当于[%d%a],相当于%w