我有一个黑名单像"12,3,4,5,6,789"
,检查元素是否在逗号分隔字符串中的有效方法?
我试图
set = {}
for element in string.gmatch("12,3,4,5,6,789", "([^"..", ".."]+)") do
set[element] = true
end
if set[...] then
...
end
检查元素是否在黑名单中。
我的程序会为每个请求处理多个(元素,黑名单)对,对于每一对我建立一个集合,只使用一次。
我认为效率不高,并试图使用string.match
,但lua中的模式不是标准的RegEx,我没有在黑名单的开始/中间/结尾同时编写可匹配元素的模式。
- 请问
string.match
比建立一套更有效率吗? - 如何编写适当的图案?
- 有什么办法更有效率?
'元素的理解= “789”; if(“12,3,4,5,6,789”):find(“%f [%d]”.. element ..“%f [%D]”)然后print(“Access Denied”)end' –
很酷,我想接受这个。 @Egor Skriptunoff – QuentinLewes