Menu
Coddy logo textTech

string.find()

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

Teraz, gdy rozumiesz klasy znaków, możesz używać ich z string.find(), aby wyszukiwać wzorce zamiast dokładnego tekstu. Otwiera to szerokie możliwości walidacji i analizy tekstu.

Funkcja string.find() działa z wzorcami tak samo jak z dosłownymi ciągami znaków. Zwraca pozycję, w której wzorzec pasuje po raz pierwszy:

local text = "User123"
local position = string.find(text, "%d")
print(position)  -- Wynik: 5

To znajduje pierwszą cyfrę w ciągu znaków, która znajduje się na pozycji 5. Możesz też wyszukać jej przeciwieństwo, używając klas znaków zapisanych wielkimi literami:

local code = "ABC123"
local position = string.find(code, "%D")
print(position)  -- Wynik: 1

Tutaj %D dopasowuje dowolny znak niebędący cyfrą, więc znajduje pierwszą literę na pozycji 1.

Częstym zadaniem związanym z walidacją jest sprawdzanie, czy ciąg znaków zaczyna się od określonego wzorca. Możesz użyć kotwicy ^ na początku wzorca, aby dopasowywać go tylko na początku ciągu znaków:

local username = "player42"
local startsWithLetter = string.find(username, "^%a")

if startsWithLetter then
    print("Valid username")
else
    print("Username must start with a letter")
end

Ten wzorzec sprawdza, czy ciąg znaków zaczyna się od litery, dzięki czemu przydaje się do walidacji danych wejściowych, gdy wymagane są określone formaty.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję startsWithLetter, która przyjmuje text i zwraca informację, czy ciąg znaków zaczyna się od litery.

Użyj string.find() z kotwicą ^ i klasą znaków %a, aby sprawdzić, czy ciąg znaków zaczyna się od litery.

Parametry:

  • text (string): Ciąg znaków do sprawdzenia

Zwraca: true, jeśli ciąg znaków zaczyna się od litery, w przeciwnym razie false (wartość logiczna)

Spróbuj swoich sił

function startsWithLetter(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