string.find()
Coddy'nin Lua Journey'sinin Fundamentals bölümünün bir parçası — ders 48 / 90.
string.find() fonksiyonu, dizeler içinde arama yapmak için güçlü bir araçtır. Daha büyük bir dizenin içinde daha küçük bir dizeyi (desen olarak adlandırılır) aramanıza olanak tanır ve size tam olarak nerede bulunduğunu söyler.
İşte temel sözdizimi:
string.find(text, pattern)string.find() deseni başarıyla bulduğunda, iki sayı döndürür: eşleşmenin başlangıç konumu ve bitiş konumu. Eğer desen bulunamazsa, nil döndürür.
İşte basit bir örnek:
local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos) -- çıktı: 5 12Bu örnekte, "treasure" kelimesi cümlede 5. konumda başlar ve 12. konumda biter.
Görev
KolayDaha büyük bir metin mesajı içinde gizli bir kod kelimesini arayan bir gizli mesaj dedektörü oluşturun. message adında bir değişken tanımlayın ve ona "The ancient treasure lies beneath the old oak tree" değerini atayın. Mesaj içinde "treasure" kelimesini aramak için string.find() fonksiyonunu kullanın ve başlangıç ile bitiş konumlarını startPos ve endPos adlı değişkenlerde saklayın. Her iki konum değerini de ayrı satırlara yazdırın.
Kopya kağıdı
string.find() fonksiyonu, bir dize içinde bir desen arar ve eşleşmenin başlangıç ve bitiş konumlarını döndürür; bulunamazsa nil döndürür.
Temel sözdizimi:
string.find(text, pattern)Örnek:
local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos) -- outputs: 5 12Kendin dene
-- Mesaj değişkenini tanımlayın
local message = "The ancient treasure lies beneath the old oak tree"
-- YAPILACAK: "treasure" kelimesini bulmak ve konumları saklamak için kodunuzu buraya yazın
-- Konumları yazdırın
print(startPos)
print(endPos)Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Fundamentals bölümündeki tüm dersler
4Operatörler 2 İlişkisel ve Mantıksal
Eşitlik Operatörleriİlişkisel Operatörler'and' Operatörü'or' Operatörü'not' OperatörüKısa Devre DeğerlendirmesiTruthy ve Falsy DeğerlerÖzet - Basit Mantık10Tablolar Bölüm 1: Liste Stili
Tablo Nedir?Tablo Oluşturmaİndeks ile Elemanlara Erişmeİndeks ile Elemanları DeğiştirmeUzunluk Operatörü '#'table.insert()table.remove()Özet - Parti Üyelerini Yönetme13Proje: Basit İksir Dükkanı
Proje Kurulumuİksir Ekleme2Değişkenler ve Veri Tipleri
Değişken Nedir?SayılarStringlerBooleanlar'nil' Değeritype() Fonksiyonuİsimlendirme KurallarıÖzet - Karakter Profili5Temel Çıktı
Sabitleri YazdırmaDeğişkenleri YazdırmaBirden Fazla Değer YazdırmaMetinleri ve Değişkenleri Birleştirmetostring() FonksiyonuGirdiTip DönüşümüÖzet - Durum RaporuÖzet - 120'ye Kadar8String Manipülasyonu Temelleri
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Özet - Kullanıcı Adı Biçimlendirme3Operatörler 1 Aritmetik ve Birleştirme
Aritmetik OperatörlerMod Alma OperatörüÜs Alma OperatörüString BirleştirmeOperatör ÖnceliğiÖzet - Basit Hesaplamalar6Proje: Karakter İstatistiklerini Görüntüleme
Hoş Geldiniz MesajıKarakter İstatistiklerini Tanımlama9Fonksiyon Temelleri
Fonksiyon TanımlamaFonksiyon ÇağırmaParametreli FonksiyonlarÇoklu Parametreli Fonksiyonlar'return' İfadesiÖzet - Alan Hesaplayıcı