9

関数を適用しますが、見栄えが悪いです。

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
4

1 に答える 1

10

このstring.findメソッドは、オプションの 4 番目のパラメーターを提供して、それ自体で平文検索を強制します。

例えば:

string.find("he#.*o", "e#.*o", 1, true)

正しい結果が得られます。

Luaのマニュアルページを引用:

string.find (s, pattern [, init [, plain]])

true4 番目のオプションの引数としての値を指定plainすると、パターン マッチング機能がオフになるため、この関数は単純な「部分文字列の検索」操作を実行し、パターン内の文字はマジックと見なされません。plainが与えられた場合、thenも与えなければならないことに注意してくださいinit

于 2013-09-24T06:44:27.560 に答える