我应用了一个函数,但看起来很糟糕。
function find_without_pattern(s1,s2)
for i =1,#s1-#s2+1 do
local t = string.sub(s1,i,#s2+i-1)
if t == s2 then
return i,i+#s2-1
end
end
end
答案 0 :(得分:6)
string.find
方法提供了一个可选的第4个参数来自行强制执行plaintext search。
例如:
string.find("he#.*o", "e#.*o", 1, true)
会给你正确的结果。
引用Lua手册页:
string.find (s, pattern [, init [, plain]])
值
true
作为第四个,可选参数plain
关闭模式匹配工具,因此该函数执行简单的“查找子串”操作,模式中没有字符被视为魔术。请注意,如果提供了plain
,则还必须提供init
。