Menu
Coddy logo textTech

string.gsub() do podstawiania

Część sekcji Logika i przepływ programu ścieżki Lua w Coddy. Lekcja 35 z 54.

Podczas pracy z ciągami znaków często trzeba znajdować i zastępować tekst. Funkcja string.gsub() w Lua ułatwia to dzięki globalnemu podstawianiu: znajduje wszystkie wystąpienia wzorca i zastępuje je czymś innym.

Podstawowa składnia przyjmuje trzy argumenty: oryginalny ciąg znaków, wzorzec do znalezienia i tekst zastępujący:

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

Oto prosty przykład, który zamienia wszystkie spacje na podkreślenia:

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

Funkcja zwraca dwie wartości: zmodyfikowany ciąg znaków i liczbę dokonanych zamian. W razie potrzeby możesz przechwycić obie:

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

W przeciwieństwie do niektórych funkcji łańcuchów znaków, które znajdują tylko pierwsze dopasowanie, string.gsub() domyślnie zastępuje każde wystąpienie, dzięki czemu doskonale nadaje się do czyszczenia tekstu, na przykład usuwania niepożądanych znaków lub ujednolicania formatowania.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję cleanText, która przyjmuje text i zwraca oczyszczoną wersję, w której wszystkie spacje zostały zastąpione znakami podkreślenia.

Użyj string.gsub(), aby zastąpić każdy znak spacji w tekście znakiem podkreślenia.

Parametry:

  • text (string): Tekst do oczyszczenia

Zwraca: Tekst, w którym wszystkie spacje zostały zastąpione znakami podkreślenia (string)

Spróbuj swoich sił

function cleanText(text)
    -- Wpisz kod tutaj
end
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Lua online