string.gsub() による置換
CoddyのLuaジャーニー「ロジックと制御フロー」セクションの一部。レッスン 35/54。
文字列を扱うときは、テキストを検索して置換する必要がよくあります。Lua の string.gsub() 関数を使うと、グローバル置換を実行できるため、これを簡単に行えます。つまり、パターンに一致するすべての箇所を見つけて、別のものに置き換えます。
基本構文では、3つの引数を指定します。元のstring、検索するpattern、そしてreplacementのテキストです。
local result = string.gsub(originalString, pattern, replacement)すべてのスペースをアンダースコアに置き換える簡単な例を示します:
local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned) -- 出力: hello_world_from_luafunction は 2 つの値を返します。変更された string と、行われた置換の数です。必要に応じて、両方を取得できます。
local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result) -- 出力: baz bar baz
print(count) -- 出力: 2最初に一致したものだけを見つける一部の文字列関数とは異なり、string.gsub()はデフォルトで出現するすべての箇所を置き換えるため、不要な文字の削除や書式の統一など、テキストのクリーニング作業に最適です。
チャレンジ
簡単cleanText 関数を記述してください。この関数は text を受け取り、すべてのスペースをアンダースコアに置き換えた、クリーンアップ済みのバージョンを返します。
string.gsub() を使用して、テキスト内のすべてのスペース文字をアンダースコア文字に置き換えてください。
パラメーター:
text(string):クリーンアップするテキスト
戻り値:すべてのスペースをアンダースコアに置き換えたテキスト(string)
自分で試してみよう
function cleanText(text)
-- ここにコードを書いてください
end
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックと制御フローのすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ