string.find()
Thuộc phần Nền tảng cơ bản trong hành trình Lua của Coddy. Bài học 48 trên 90.
Hàm string.find() là công cụ mạnh mẽ để tìm kiếm trong chuỗi. Hàm này cho phép bạn tìm một chuỗi nhỏ hơn (gọi là mẫu) bên trong một chuỗi lớn hơn và cho bạn biết chính xác vị trí tìm thấy chuỗi đó.
Đây là cú pháp cơ bản:
string.find(text, pattern)Khi string.find() tìm thấy mẫu, hàm này trả về hai số: vị trí bắt đầu và vị trí kết thúc của phần khớp. Nếu không tìm thấy mẫu, hàm trả về nil.
Đây là một ví dụ đơn giản:
local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos) -- đầu ra: 5 12Trong ví dụ này, từ "treasure" bắt đầu ở vị trí 5 và kết thúc ở vị trí 12 trong câu.
Thử thách
DễTạo một trình phát hiện thông điệp bí mật, tìm từ mã ẩn bên trong một thông điệp dài hơn. Khai báo một biến tên là message và gán cho nó giá trị "The ancient treasure lies beneath the old oak tree". Dùng hàm string.find() để tìm từ "treasure" trong thông điệp và lưu vị trí bắt đầu, kết thúc vào các biến có tên startPos và endPos. In hai giá trị vị trí trên hai dòng riêng biệt.
Tự làm thử
-- Khai báo biến message
local message = "The ancient treasure lies beneath the old oak tree"
-- TODO: Viết code ở đây để tìm từ "treasure" và lưu các vị trí
-- In ra các vị trí
print(startPos)
print(endPos)Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Nền tảng cơ bản
4Toán tử 2: quan hệ và logic
Toán tử bằngToán tử quan hệToán tử andToán tử orToán tử notĐánh giá ngắn mạchGiá trị truthy và falsyÔn tập: logic đơn giản10Bảng phần 1: kiểu danh sách
Bảng là gì?Tạo bảngTruy cập phần tử theo chỉ sốSửa đổi phần tử theo chỉ sốToán tử độ dài '#'table.insert()table.remove()Ôn tập: quản lý thành viên nhóm13Dự án: Cửa hàng thuốc đơn giản
Thiết lập dự ánThêm một loại thuốc2Biến và kiểu dữ liệu
Biến là gì?Các sốChuỗiGiá trị BooleanGiá trị 'nil'Hàm type()Quy ước đặt tênÔn tập: hồ sơ nhân vật5Đầu ra cơ bản
In các giá trị cố địnhIn biếnIn nhiều giá trịKết hợp chuỗi và biếnHàm tostring()Đầu vàoÉp kiểuÔn tập: Báo cáo trạng tháiÔn tập: Đến 1208Cơ bản về thao tác với chuỗi
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Ôn tập: định dạng tên người dùng3Toán tử 1: số học và nối chuỗi
Toán tử số họcToán tử chia lấy dưToán tử lũy thừaNối chuỗiThứ tự ưu tiên của toán tửÔn tập: phép tính đơn giản6Dự án: Hiển thị chỉ số nhân vật
Lời chào mừngKhai báo chỉ số nhân vật9Cơ bản về hàm
Khai báo hàmGọi hàmHàm có tham sốHàm có nhiều tham sốCâu lệnh returnÔn tập: Máy tính diện tíchTự luyện tập: Trình biên dịch Lua online