Pengantar Pola string
Termasuk bagian Logika dan Alur dalam perjalanan Lua di Coddy. Pelajaran 36 dari 54.
Saat kamu menggunakan string.gsub() di pelajaran sebelumnya, kamu mencari teks yang sama persis, seperti spasi atau kata tertentu. Namun, bagaimana jika kamu perlu mencari "digit apa pun" atau "huruf apa pun" tanpa mengetahui karakter yang tepat? Di sinilah pola string berperan.
Pola string dalam Lua adalah cara untuk menjelaskan jenis teks yang kamu cari, bukan teks persisnya. Pola ini lebih sederhana daripada ekspresi reguler, tetapi cukup andal untuk sebagian besar tugas pemrosesan teks.
Lua menyediakan kode khusus yang disebut kelas karakter untuk mencocokkan kategori karakter. Berikut yang paling umum:
%d -- cocok dengan digit apa pun (0-9)
%a -- cocok dengan huruf apa pun (a-z, A-Z)
%s -- cocok dengan karakter spasi putih apa pun (spasi, tab, baris baru)
%w -- cocok dengan karakter alfanumerik apa pun (huruf dan digit)
%p -- cocok dengan karakter tanda baca apa punBerikut cara menggunakan pola-pola ini dengan string.find() untuk menemukan digit pertama dalam string:
local text = "Room 42 is available"
local position = string.find(text, "%d")
print(position) -- output: 6Kamu juga bisa menggunakan versi huruf besar dari kelas-kelas ini untuk mencocokkan kebalikannya. Misalnya, %D cocok dengan karakter apa pun yang bukan digit, dan %A cocok dengan karakter apa pun yang bukan huruf.
Tantangan
MudahTulis sebuah fungsi containsDigit yang menerima text dan mengembalikan apakah teks tersebut mengandung setidaknya satu digit.
Gunakan string.find() dengan kelas karakter %d untuk memeriksa apakah ada digit dalam string.
Parameter:
text(string): Teks yang akan diperiksa apakah mengandung digit
Mengembalikan: true jika teks mengandung setidaknya satu digit, false jika tidak (boolean)
Coba sendiri
function containsDigit(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