0Pricing
Lua Academy · Pelajaran

string.gmatch untuk Tokenisasi

Lakukan iterasi pada semua kecocokan dalam string dengan string.gmatch.

string.gmatch untuk Tokenisasi adalah pelajaran Lua Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Lua Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Lua Academy mencakup 4 pelajaran total.

Apa Itu string.gmatch?

string.gmatch(s, pattern) mengembalikan iterator yang secara berurutan mengembalikan semua kecocokan pattern dalam string s.

Melakukan Iterasi pada Kata

Ubah string menjadi token kata dengan mencocokkan rangkaian karakter yang bukan spasi.

local s = "the quick brown fox"
for word in s:gmatch("%S+") do
  print(word)
end

Mengumpulkan Kecocokan ke dalam Tabel

Kumpulkan semua kecocokan ke dalam tabel untuk diproses lebih lanjut.

local function split(s, pat)
  local parts = {}
  for token in s:gmatch(pat) do
    parts[#parts+1] = token
  end
  return parts
end
local words = split("one two three", "%S+")
print(#words)  -- 3

Mengekstrak Angka

Ekstrak semua bilangan bulat dari string dengan pola %d+.

local s = "x=10, y=20, z=30"
for n in s:gmatch("%d+") do
  print(tonumber(n))
end

Menggunakan Hasil Tangkapan dalam gmatch

Jika pola memiliki hasil tangkapan, setiap iterasi mengembalikan grup yang tertangkap, bukan seluruh kecocokan.

local s = "from=Alice, to=Bob, cc=Carol"
for k, v in s:gmatch("(%w+)=(%w+)") do
  print(k, "->", v)
end

Tokenizer CSV

Pisahkan baris CSV dengan menangkap semua hal yang berada di antara koma.

local csv = "apple,banana,cherry,date"
for field in (csv .. ","):gmatch("([^,]*),") do
  print(field)
end

Penguraian Pasangan Kunci-Nilai

Uraikan string tajuk bergaya HTTP menjadi tabel pasangan kunci-nilai.

local headers = "Content-Type: text/html; Content-Length: 1234"
local parsed = {}
for k, v in headers:gmatch("([%w%-]+): ([^;]+)") do
  parsed[k] = v:match("^%s*(.-)%s*$")
end

Menghitung Kemunculan Pola

Hitung berapa kali suatu pola muncul dalam string.

local function count(s, pat)
  local n = 0
  for _ in s:gmatch(pat) do n = n + 1 end
  return n
end
print(count("banana", "an"))  -- 2

Tokenizer Kalimat

Pisahkan teks menjadi kalimat dengan mencocokkan teks hingga tanda baca.

local text = "Hello. How are you? Fine!"
for sent in text:gmatch("[^.!?]+[.!?]?") do
  print(sent:match("^%s*(.-)%s*$"))
end

gmatch vs string.find dalam Perulangan

gmatch adalah cara yang disarankan untuk melakukan iterasi pada semua kecocokan. Menggunakan string.find dalam perulangan while lebih panjang dan lebih rentan terhadap kesalahan.

Keterbatasan Unicode

Pola Lua bekerja pada byte. Karakter UTF-8 multibyte mungkin tidak cocok dengan benar pada pola satu karakter. Untuk dukungan Unicode penuh, gunakan pustaka UTF-8.

Pertanyaan tentang gmatch

Pada apa for w in s:gmatch("%S+") do melakukan iterasi?

Ringkasan: string.gmatch

string.gmatch adalah tokenizer Lua standar. Gunakan untuk memisahkan string, mengekstrak semua angka, mengurai pasangan kunci-nilai, dan menghitung kemunculan pola dalam perulangan iterator yang rapi.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “string.gmatch untuk Tokenisasi” gratis?

Ya — teks lengkap “string.gmatch untuk Tokenisasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Lua Academy, upgrade ke CoddyKit PRO. Kursus Lua Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “string.gmatch untuk Tokenisasi”?

Lakukan iterasi pada semua kecocokan dalam string dengan string.gmatch. Kamu berlatih Lua Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Lua Academy?

Tidak diperlukan pengalaman sebelumnya. Lua Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “string.gmatch untuk Tokenisasi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Lua Academy ini?

Ya. Setiap pelajaran Lua Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Sintaks Pola Lua
  2. Capture dan string.match
  3. string.gmatch untuk Tokenisasi
  4. string.gsub untuk Transformasi
← Kembali ke Lua Academy