Stosuję funkcję, ale wygląda tak źle.Czy istnieje ciąg lua.find bez wzoru
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
Stosuję funkcję, ale wygląda tak źle.Czy istnieje ciąg lua.find bez wzoru
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
Sposób string.find
zapewnia opcjonalny parametr 4th egzekwowania plaintext search sama.
Na przykład:
string.find("he#.*o", "e#.*o", 1, true)
daje poprawne wyniki.
cytując Lua ręczne strony:
string.find (s, pattern [, init [, plain]])
Wartość
true
jako czwarty, opcjonalny argumentplain
wyłącza wzór pasujący obiektów, więc funkcja robi zwykły „znaleźć podciąg” operacji , bez znaków we wzorcu uznawanych za magię. Zauważ, że jeśli podaszplain
, to musisz podać także.
Przyjemnie, okazuje się, że wykonałem niepotrzebną pracę. Zmieniłem także twoją odpowiedź, odkąd usunąłem swoją. –