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 12W tym przykładzie słowo "treasure" zaczyna się na pozycji 5 i kończy na pozycji 12 w zdaniu.
Wyzwanie
ŁatwyUtwó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)Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory 2: relacyjne i logiczne
Operatory równościOperatory relacyjneOperator „and”Operator „or”Operator „not”Ewaluacja z krótkim spięciemWartości prawdziwe i fałszywePodsumowanie – prosta logika7Podstawy logiki warunkowej
Instrukcja if-thenInstrukcja if-then-elseInstrukcja elseifPowtórzenie — skrzynia skarbów10Tabele, część 1: styl listy
Czym jest tabela?Tworzenie tabeliDostęp do elementów według indeksuModyfikowanie elementów według indeksuOperator długości '#'table.insert()table.remove()Powtórzenie — zarządzanie członkami drużyny13Projekt: Prosty sklep z eliksirami
Konfiguracja projektuDodawanie eliksiru2Zmienne i typy danych
Czym jest zmienna?LiczbyŁańcuchy znakówWartości logiczneWartość „nil”Funkcja type()Konwencje nazewnictwaPowtórzenie — profil postaci5Podstawowe wyjście
Wyświetlanie literałówWyświetlanie zmiennychWyświetlanie wielu wartościŁączenie ciągów znaków i zmiennychFunkcja tostring()Dane wejścioweRzutowanie typówPowtórka — raport o statusiePowtórka — do 1208Podstawy manipulacji ciągami znaków
string.len()string.upper i string.lowerstring.sub()string.rep()string.find()Podsumowanie – formatuj nazwę użytkownika3Operatory 1: Arytmetyka i konkatenacja
Operatory arytmetyczneOperator moduloOperator potęgowaniaŁączenie ciągów znakówKolejność wykonywania operatorówPowtórka – proste obliczenia6Projekt: wyświetlanie statystyk postaci
Wiadomość powitalnaDeklarowanie statystyk postaci9Podstawy funkcji
Deklarowanie funkcjiWywoływanie funkcjiFunkcje z parametramiFunkcje z wieloma parametramiInstrukcja „return”Powtórzenie — kalkulator polaPoćwicz samodzielnie: Kompilator Lua online