Yer Değiştirme için string.gsub()
Coddy'nin Lua Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 35 / 54.
Dizelerle çalışırken, çoğu zaman metin bulup değiştirmeniz gerekir. Lua'nın string.gsub() işlevi, genel değiştirme gerçekleştirerek bunu kolaylaştırır: bir kalıbın tüm oluşumlarını bulur ve bunları başka bir şeyle değiştirir.
Temel söz dizimi üç bağımsız değişken alır: özgün dize, bulunacak desen ve değiştirme metni:
local result = string.gsub(originalString, pattern, replacement)Tüm boşlukları alt çizgilerle değiştiren basit bir örnek:
local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned) -- Çıktı: hello_world_from_luaFonksiyon iki değer döndürür: değiştirilmiş dizeyi ve yapılan değiştirme sayısını. Gerekirse her ikisini de yakalayabilirsin:
local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result) -- Çıktı: baz bar baz
print(count) -- Çıktı: 2Yalnızca ilk eşleşmeyi bulan bazı dize işlevlerinin aksine, string.gsub() varsayılan olarak her oluşumu değiştirir; bu da onu istenmeyen karakterleri kaldırma veya biçimlendirmeyi standartlaştırma gibi metin temizleme görevleri için mükemmel kılar.
Görev
KolaycleanText işlevini yazın; bu işlev text değerini almalı ve tüm boşlukların alt çizgilerle değiştirildiği temizlenmiş bir sürümünü döndürmelidir.
Metindeki her boşluk karakterini alt çizgi karakteriyle değiştirmek için string.gsub() kullanın.
Parametreler:
text(string): Temizlenecek metin
Döndürülen: Tüm boşlukların alt çizgilerle değiştirildiği metin (string)
Kendin dene
function cleanText(text)
-- Kodu buraya yaz
end
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1İleri Düzey Tablo Yineleme
pairs() ile Yinelemeipairs() ile Yinelemepairs() vs. ipairs()Özet - Karakter Sayfası4Metatable'lara Giriş
Metatable Nedir?setmetatable & getmetatable__index Metametodu__newindex Metametodu__tostring MetametoduAritmetik Metametotlar Bölüm 1Aritmetik Metametotlar Bölüm 2Özet - Salt Okunur Tablo7İleri Düzey String Manipülasyonu
Yer Değiştirme için string.gsub()String Desenlerine Girişstring.find()string.match()string.gmatch() ile YinelemeÖzet - Log Dosyası Ayrıştırıcı2Daha Fazla Tablo Kütüphanesi Fonksiyonu
table.concat()Tablo Oluşturma ve unpack()table.sort()Fonksiyonlar ile Özel SıralamaÖzet - Yüksek Skor TablosuKendi başına pratik yap: Online Lua derleyicisi