Menu
Coddy logo textTech

string.find()

Część sekcji Podstawy ścieżki Lua w Coddy. Lekcja 48 z 90.

Funkcja string.find() to potężne narzędzie do wyszukiwania w ciągach znaków. Pozwala wyszukiwać krótszy ciąg znaków (nazywany wzorcem) wewnątrz dłuższego ciągu znaków i informuje dokładnie, gdzie został znaleziony.

Oto podstawowa składnia:

string.find(text, pattern)

Gdy string.find() pomyślnie znajdzie wzorzec, zwraca dwie liczby: pozycję początkową i pozycję końcową dopasowania. Jeśli wzorzec nie zostanie znaleziony, zwraca nil.

Oto prosty przykład:

local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos)  -- wypisuje: 5 12

W tym przykładzie słowo "treasure" zaczyna się na pozycji 5 i kończy na pozycji 12 w zdaniu.

challenge icon

Wyzwanie

Łatwy

Utwórz detektor tajnych wiadomości, który wyszukuje ukryte słowo kodowe w dłuższej wiadomości tekstowej. Zadeklaruj zmienną o nazwie message i przypisz jej wartość "The ancient treasure lies beneath the old oak tree". Użyj funkcji string.find(), aby wyszukać w wiadomości słowo "treasure" i zapisać pozycje początkową i końcową w zmiennych o nazwach startPos i endPos. Wypisz obie wartości pozycji w osobnych wierszach.

Spróbuj swoich sił

-- Zadeklaruj zmienną message
local message = "The ancient treasure lies beneath the old oak tree"

-- TODO: Napisz tutaj kod, który znajdzie słowo "treasure" i zapisze jego pozycje

-- Wypisz pozycje
print(startPos)
print(endPos)
quiz iconSprawdź się

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

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Lua online