Menu
Coddy logo textTech

Yer Değiştirme için string.gsub()

Coddy'nin Lua Journey'sinin Logic & Flow bölümünün bir parçası — ders 35 / 54.

Dizelerle çalışırken, genellikle metin bulmanız ve değiştirmeniz gerekir. Lua'nın string.gsub() fonksiyonu, global değiştirme gerçekleştirerek—bir kalıbın tüm oluşumlarını bulup bunları başka bir şeyle değiştirerek—bunu kolaylaştırır.

Temel sözdizimi üç argüman alır: orijinal dize, bulunacak desen ve değiştirilecek metin:

local result = string.gsub(originalString, pattern, replacement)

İşte tüm boşlukları alt çizgi ile değiştiren basit bir örnek:

local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned)  -- Çıktı: hello_world_from_lua

Fonksiyon iki değer döndürür: değiştirilmiş dize ve yapılan değiştirme sayısı. İhtiyaç duyarsanız her ikisini de alabilirsiniz:

local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result)  -- Çıktı: baz bar baz
print(count)   -- Çıktı: 2

Yalnızca ilk eşleşmeyi bulan bazı dize fonksiyonlarının aksine, string.gsub() varsayılan olarak her eşleşmeyi değiştirir; bu da onu istenmeyen karakterleri kaldırmak veya biçimlendirmeyi standartlaştırmak gibi metin temizleme görevleri için mükemmel kılar.

challenge icon

Görev

Kolay

text alan ve tüm boşlukların alt çizgilerle değiştirildiği temizlenmiş bir sürüm döndüren bir cleanText fonksiyonu yazın.

Metindeki her boşluk karakterini bir alt çizgi karakteriyle değiştirmek için string.gsub() kullanın.

Parametreler:

  • text (string): Temizlenecek metin

Döndürür: Tüm boşlukların alt çizgilerle değiştirildiği metin (string)

Kopya kağıdı

string.gsub() fonksiyonu, bir desenin tüm oluşumlarını bularak ve bunları değiştirerek global yer değiştirme gerçekleştirir:

local result = string.gsub(originalString, pattern, replacement)

Boşlukları alt çizgilerle değiştirme örneği:

local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned)  -- Çıktı: hello_world_from_lua

Fonksiyon iki değer döndürür: değiştirilmiş dize ve yapılan yer değiştirme sayısı:

local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result)  -- Çıktı: baz bar baz
print(count)   -- Çıktı: 2

string.gsub() varsayılan olarak sadece ilk eşleşmeyi değil, her oluşumu değiştirir.

Kendin dene

function cleanText(text)
    -- Kodu buraya yazın
end
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Logic & Flow bölümündeki tüm dersler