0

luaでは、スペースを含む可能性のあるサブストリングを検出する必要があります。

例えば、

私は文字列を持っています

local str = "Hel lo World"

この文字列から「Hello」を置き換えるにはどうすればよいですか?

パターンを使用する必要がありますか?

編集

私はこのようなものを思いついた

local pattern = "[H][ ]*[e][ ]*[l][ ]*[l][ ]*[o]"
str:gsub(pattern,"text_to_replace")

それは最適ですか?

4

2 に答える 2

2

次のようなパターンジェネレータを作成できます。

local spaced_match = function(s)
    local pattern = ''
    for i=1,#s do
       pattern = pattern..s:sub(i,i)..' *'
    end
    return pattern
end

local h = 'hel lo world'
local newh = h:gsub(spaced_match('hello'),'text_to_replace')
于 2012-10-19T07:29:14.033 に答える
0

文字/スペースがある場所のマスクを作成します

ストリップスペース

テキストの一致/置換

文字/スペースのマスクを元に戻す

あなたがそれをする関数を作りたいなら。

于 2012-10-19T06:26:15.247 に答える