Dönüşümler için string.gsub
gsub aracılığıyla örüntüleri dizelerle, işlevlerle veya tablo aramalarıyla değiştirin.
Dönüşümler için string.gsub, CoddyKit'te ücretsiz bir Lua Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Lua Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Lua Academy kursu toplamda 4 dersten oluşur.
string.gsub Nedir?
string.gsub(s, pattern, repl, n), s içindeki pattern görünümlerini repl ile değiştirir. Yeni dizeyi ve değiştirme sayısını döndürür.
Basit Dize Değiştirme
Değişmez bir alt dizenin tüm görünümlerini değiştirin.
local s = "hello world world"
local result, count = s:gsub("world", "Lua")
print(result, count) -- hello Lua Lua 2Değiştirmeleri Sınırlama
Değiştirme sayısını sınırlamak için dördüncü bir bağımsız değişken geçirin.
local s = "aaa bbb aaa"
print(s:gsub("aaa", "xxx", 1)) -- xxx bbb aaa 1Desen Tabanlı Değiştirme
Tüm rakamları sabit bir dizeyle değiştirin.
local s = "abc 123 def 456"
print(s:gsub("%d+", "NUM")) -- abc NUM def NUM 2İşlevle Değiştirme
repl bir işlev olduğunda her yakalamayla (veya eşleşmenin tamamıyla) çağrılır ve dönüş değeri eşleşmenin yerine geçer.
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.5Tabloyla Değiştirme
repl bir tablo olduğunda her eşleşme (veya yakalama) anahtar olarak kullanılır; tablodaki değer eşleşmenin yerine geçer.
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.Boşlukları Kırpma
Bir dizenin başındaki ve sonundaki boşlukları kaldırmak için gsub kullanın.
local function trim(s)
return s:gsub("^%s+", ""):gsub("%s+$", "")
end
print("[" .. trim(" hello ") .. "]") -- [hello]Büyük-Küçük Harf Dönüştürme
Her harfi büyük veya küçük harfe dönüştürmek için gsub'ı bir işlevle kullanın.
local function toUpper(s)
return s:gsub("%a", string.upper)
end
print(toUpper("hello world")) -- HELLO WORLDÖzel Karakterlerden Kaçış
Bir dizedeki tüm desen sihirli karakterlerine kaçış uygulayarak dizenin değişmez bir desen olarak kullanılmasını sağlayın.
local function escapePat(s)
return s:gsub("[%(%)%.%%%+%-%*%?%[%^%$]", "%%%1")
endDönüş Sayısını Kullanma
İkinci dönüş değeri olan değiştirme sayısı, herhangi bir değişiklik yapılıp yapılmadığını belirlemek için kullanışlıdır.
local s = "no numbers here"
local result, n = s:gsub("%d+", "X")
if n == 0 then print("nothing replaced") endŞablon Motoru Deseni
Basit bir şablon motoru, {{key}} yer tutucularını bir veri tablosundaki değerlerle değiştirir.
local function render(tmpl, data)
return (tmpl:gsub("{{(%w+)}}", data))
end
print(render("Hi {{name}}!", {name="Bob"})) -- Hi Bob!gsub Sorusu
gsub içindeki repl bir işlev olduğunda bu işleve ne aktarılır?
Özet: string.gsub
string.gsub, dize dönüşümü için İsviçre çakısı gibidir: dizelerle, işlevlerle (dinamik hesaplama için) veya tablolarla (sözlük aramaları için) değiştirme yapar. Ayrıca değiştirme sayısını da döndürür.
Sıkça Sorulan Sorular
“Dönüşümler için string.gsub” dersi ücretsiz mi?
Evet — “Dönüşümler için string.gsub” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Lua Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Lua Academy kursu toplamda 4 dersten oluşur.
“Dönüşümler için string.gsub” dersinde ne öğreneceğim?
gsub aracılığıyla örüntüleri dizelerle, işlevlerle veya tablo aramalarıyla değiştirin. Lua Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Lua Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Lua Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Dönüşümler için string.gsub” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Lua Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Lua Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Lua Örüntü Söz Dizimi
- Yakalamalar ve string.match
- Belirteçleştirme için string.gmatch
- Dönüşümler için string.gsub