string.find()
CoddyのLuaジャーニー「Fundamentals」セクションの一部 — レッスン 48/90。
string.find() 関数は、文字列内を検索するための強力なツールです。これを使用すると、大きな文字列の中から小さな文字列(パターンと呼ばれます)を探し出し、それが見つかった正確な位置を特定することができます。
基本的な構文は次の通りです:
string.find(text, pattern)string.find() がパターンを正常に見つけた場合、一致した箇所の開始位置と終了位置の2つの数値を返します。パターンが見つからない場合は、nil を返します。
簡単な例を次に示します:
local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos) -- 出力: 5 12この例では、"treasure" という単語は文の5番目の位置から始まり、12番目の位置で終わります。
チャレンジ
簡単長いテキストメッセージの中から隠されたコードワードを検索する、秘密のメッセージ検出器を作成してください。message という名前の変数を宣言し、"The ancient treasure lies beneath the old oak tree" という値を代入します。string.find() 関数を使用して、メッセージの中から "treasure" という単語を検索し、その開始位置と終了位置を startPos と endPos という変数に格納してください。両方の位置の値を別々の行に出力してください。
チートシート
string.find()関数は、文字列内のパターンを検索し、一致した箇所の開始位置と終了位置を返します。見つからない場合はnilを返します。
基本構文:
string.find(text, pattern)例:
local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos) -- 出力: 5 12自分で試してみよう
-- message変数を宣言します
local message = "The ancient treasure lies beneath the old oak tree"
-- TODO: ここにコードを記述して、"treasure"という単語を見つけ、その位置を保存してください
-- 位置を表示します
print(startPos)
print(endPos)このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。