0Pricing
Lua Academy · Pelajaran

string.gsub untuk Transformasi

Ganti pola dengan string, fungsi, atau pencarian tabel melalui gsub.

string.gsub untuk Transformasi adalah pelajaran Lua Academy gratis di CoddyKit. Ini adalah pelajaran 4 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.gsub?

string.gsub(s, pattern, repl, n) mengganti kemunculan pattern dalam s dengan repl. Fungsi ini mengembalikan string baru dan jumlah penggantian.

Penggantian String Sederhana

Ganti semua kemunculan substring literal.

local s = "hello world world"
local result, count = s:gsub("world", "Lua")
print(result, count)  -- hello Lua Lua  2

Membatasi Penggantian

Berikan argumen keempat untuk membatasi jumlah penggantian.

local s = "aaa bbb aaa"
print(s:gsub("aaa", "xxx", 1))  -- xxx bbb aaa  1

Penggantian Berbasis Pola

Ganti semua digit dengan string tetap.

local s = "abc 123 def 456"
print(s:gsub("%d+", "NUM"))  -- abc NUM def NUM  2

Penggantian dengan Fungsi

Jika repl berupa fungsi, fungsi tersebut dipanggil dengan setiap hasil tangkapan (atau seluruh kecocokan), lalu nilai yang dikembalikannya menggantikan kecocokan tersebut.

local s = "price: 100, tax: 15"
local result = s:gsub("%d+", function(n)
  return tostring(tonumber(n) * 1.1)
end)
print(result)  -- price: 110.0, tax: 16.5

Penggantian dengan Tabel

Jika repl berupa tabel, setiap kecocokan (atau hasil tangkapan) digunakan sebagai kunci; nilai tabel menggantikan kecocokan tersebut.

local vars = {name="Alice", lang="Lua"}
local tmpl = "Hello, {name}! Welcome to {lang}."
local result = tmpl:gsub("{(%w+)}", vars)
print(result)  -- Hello, Alice! Welcome to Lua.

Menghapus Spasi Putih

Gunakan gsub untuk menghapus spasi putih di awal dan akhir string.

local function trim(s)
  return s:gsub("^%s+", ""):gsub("%s+$", "")
end
print("[" .. trim("  hello  ") .. "]")  -- [hello]

Mengubah Kapitalisasi

Gunakan gsub dengan fungsi untuk mengubah setiap huruf menjadi huruf besar atau huruf kecil.

local function toUpper(s)
  return s:gsub("%a", string.upper)
end
print(toUpper("hello world"))  -- HELLO WORLD

Meloloskan Karakter Khusus

Loskan semua karakter ajaib pola dalam string agar string tersebut dapat digunakan sebagai pola literal.

local function escapePat(s)
  return s:gsub("[%(%)%.%%%+%-%*%?%[%^%$]", "%%%1")
end

Penggunaan Nilai Jumlah yang Dikembalikan

Nilai kedua yang dikembalikan (jumlah penggantian) berguna untuk mendeteksi apakah terjadi penggantian.

local s = "no numbers here"
local result, n = s:gsub("%d+", "X")
if n == 0 then print("nothing replaced") end

Pola Mesin Templat

Mesin templat sederhana mengganti tempat penampung {{key}} dengan nilai dari tabel data.

local function render(tmpl, data)
  return (tmpl:gsub("{{(%w+)}}", data))
end
print(render("Hi {{name}}!", {name="Bob"}))  -- Hi Bob!

Pertanyaan tentang gsub

Jika repl dalam gsub berupa fungsi, apa yang diteruskan kepadanya?

Ringkasan: string.gsub

string.gsub adalah alat serbaguna untuk transformasi string: mengganti dengan string, fungsi (untuk perhitungan dinamis), atau tabel (untuk pencarian kamus). Fungsi ini juga mengembalikan jumlah penggantian.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “string.gsub untuk Transformasi” gratis?

Ya — teks lengkap “string.gsub untuk Transformasi” 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.gsub untuk Transformasi”?

Ganti pola dengan string, fungsi, atau pencarian tabel melalui gsub. 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 4 dari 4.

Berapa lama pelajaran “string.gsub untuk Transformasi” 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