Menu
CoddyTech

Iterasi dengan string.gmatch()

Termasuk bagian Logika dan Alur dalam perjalanan Lua di Coddy. Pelajaran 39 dari 54.

Jika string.match() menemukan kemunculan pertama pola, bagaimana jika kamu perlu menemukan semua kecocokan dalam sebuah string? Fungsi string.gmatch() mengatasi hal ini dengan mengembalikan iterator yang bisa kamu gunakan dalam for loop untuk memproses setiap kecocokan satu per satu.

Sintaks dasarnya terlihat seperti ini:

for match in string.gmatch(text, pattern) do
    -- proses setiap kecocokan
end

Berikut contoh yang menemukan semua angka dalam sebuah string:

local text = "I have 3 apples and 5 oranges"
for number in string.gmatch(text, "%d+") do
    print(number)
end
-- output:
-- 3
-- 5

Pola %d+ mencocokkan satu digit atau lebih, dan perulangan berjalan satu kali untuk setiap angka yang ditemukan.

Kamu juga dapat mengekstrak semua kata dari sebuah kalimat:

local sentence = "Lua is a powerful language"
for word in string.gmatch(sentence, "%a+") do
    print(word)
end
-- Output:
-- Lua
-- is
-- a
-- powerful
-- language
challenge icon

Tantangan

Mudah

Tulis fungsi extractHashtags yang menerima text dan mengembalikan semua hashtag yang ditemukan dalam teks, masing-masing pada baris terpisah.

Gunakan string.gmatch() untuk mencari semua hashtag dalam teks. Hashtag dimulai dengan # yang diikuti oleh satu huruf atau lebih.

Logika:

  • Gunakan string.gmatch() dengan pola "#%a+" untuk mencari semua hashtag
  • Ulangi setiap hasil yang cocok dan kumpulkan semuanya
  • Gabungkan semua hashtag dengan karakter baris baru (\n)
  • Jika tidak ada hashtag yang ditemukan, kembalikan string kosong

Parameter:

  • text (string): Teks untuk mencari hashtag

Nilai kembali: Semua hashtag yang ditemukan, masing-masing pada baris terpisah. Jika tidak ada hashtag, kembalikan string kosong (string)

Coba sendiri

function extractHashtags(text)
    -- Tulis kodemu di sini
end
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Lua online