string.find()
Termasuk bagian Logika dan Alur dalam perjalanan Lua di Coddy. Pelajaran 37 dari 54.
Sekarang setelah memahami character class, kamu bisa menggunakannya dengan string.find() untuk mencari pola, bukan teks yang persis sama. Ini membuka banyak kemungkinan untuk validasi dan analisis teks.
Fungsi string.find() bekerja dengan pola sama seperti dengan string literal. Fungsi ini mengembalikan posisi tempat pola pertama kali cocok:
local text = "User123"
local position = string.find(text, "%d")
print(position) -- output: 5Ini menemukan digit pertama dalam string, yang berada di posisi 5. Kamu juga bisa mencari kebalikannya menggunakan kelas karakter huruf besar:
local code = "ABC123"
local position = string.find(code, "%D")
print(position) -- output: 1Di sini, %D cocok dengan karakter apa pun yang bukan digit, sehingga menemukan huruf pertama pada posisi 1.
Tugas validasi yang umum adalah memeriksa apakah sebuah string dimulai dengan pola tertentu. Kamu dapat menggunakan anchor ^ di awal pola agar hanya cocok dengan bagian awal string:
local username = "player42"
local startsWithLetter = string.find(username, "^%a")
if startsWithLetter then
print("Valid username")
else
print("Username must start with a letter")
endPola ini memeriksa apakah string diawali dengan huruf, sehingga berguna untuk validasi input yang mengharuskan format tertentu.
Tantangan
MudahTulis fungsi startsWithLetter yang menerima text dan mengembalikan apakah string diawali dengan huruf.
Gunakan string.find() dengan anchor ^ dan character class %a untuk memeriksa apakah string dimulai dengan huruf.
Parameter:
text(string): String yang akan divalidasi
Nilai yang dikembalikan: true jika string diawali dengan huruf, false jika tidak (boolean)
Coba sendiri
function startsWithLetter(text)
-- Tulis kodemu di sini
end
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Iterasi Tabel Tingkat Lanjut
Iterasi dengan pairs()Iterasi dengan ipairs()pairs() vs. ipairs()Rangkuman: Lembar Karakter4Pengenalan Metatable
Apa Itu Metatable?setmetatable & getmetatableMetamethod __indexMetamethod __newindexMetamethod __tostringMetamethod Aritmetika Bagian 1Metamethod Aritmetika Bagian 2Ulasan: Tabel Hanya-Baca7Manipulasi string Tingkat Lanjut
string.gsub() untuk SubstitusiPengantar Pola stringstring.find()string.match()Iterasi dengan string.gmatch()Rangkuman: Pengurai file log2Fungsi library tabel Lainnya
table.concat()Pembuatan tabel & unpack()table.sort()Pengurutan Kustom dengan FungsiRangkuman, Papan Skor TertinggiLatihan sendiri: Compiler Lua online