0Pricing
Lua Academy · Ders

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  2

Değ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  1

Desen 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.5

Tabloyla 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")
end

Dö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

  1. Lua Örüntü Söz Dizimi
  2. Yakalamalar ve string.match
  3. Belirteçleştirme için string.gmatch
  4. Dönüşümler için string.gsub
← Lua Academy Sayfasına Dön