Menu
Coddy logo textTech

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_lua

function は 2 つの値を返します。変更された string と、行われた置換の数です。必要に応じて、両方を取得できます。

local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result)  -- 出力: baz bar baz
print(count)   -- 出力: 2

最初に一致したものだけを見つける一部の文字列関数とは異なり、string.gsub()はデフォルトで出現するすべての箇所を置き換えるため、不要な文字の削除や書式の統一など、テキストのクリーニング作業に最適です。

challenge icon

チャレンジ

簡単

cleanText 関数を記述してください。この関数は text を受け取り、すべてのスペースをアンダースコアに置き換えた、クリーンアップ済みのバージョンを返します。

string.gsub() を使用して、テキスト内のすべてのスペース文字をアンダースコア文字に置き換えてください。

パラメーター:

  • text(string):クリーンアップするテキスト

戻り値:すべてのスペースをアンダースコアに置き換えたテキスト(string)

自分で試してみよう

function cleanText(text)
    -- ここにコードを書いてください
end
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックと制御フローのすべてのレッスン

自分で練習してみよう: Luaオンラインコンパイラ