Xóa các ký tự phù hợp với một mẫu

Lua:
Xóa các ký tự phù hợp với một mẫu

Làm thế nào:

Trong Lua, chúng ta có thể sử dụng hàm gsub để thay thế các lần xuất hiện của một mẫu với một chuỗi khác – một chuỗi rỗng khi chúng ta muốn xóa chúng:

local text = "Hello, 123 World! 456"
local pattern = "%d" -- mẫu khớp với tất cả các chữ số
local cleanedText, numOfReplacements = text:gsub(pattern, "")

print(cleanedText) -- Kết quả: "Hello,  World!"
print("Số lượng thay thế đã thực hiện:", numOfReplacements) -- Kết quả: "Số lượng thay thế đã thực hiện: 6"

Lưu ý rằng gsub cũng trả lại số lượng thay thế đã thực hiện, đây có thể là thông tin hữu ích.

Sâu hơn nữa

Mẫu Lua đơn giản hơn so với các biểu thức chính quy tìm thấy trong các ngôn ngữ khác nhưng vẫn rất mạnh mẽ. Lịch sử, quyết định của Lua để triển khai một cơ chế khớp mẫu nhẹ hơn bắt nguồn từ việc giữ cho ngôn ngữ này cả nhẹ và nhanh.

Các phương án khác bao gồm việc sử dụng vòng lặp với string.findstring.sub để kiểm tra và thao tác chuỗi một cách thủ công, nhưng điều này nói chung kém hiệu quả hơn so với việc khớp mẫu với gsub.

Về mặt triển khai, khi gsub được gọi với một mẫu, Lua nội bộ biên dịch mẫu này thành một mã bytecode, sau đó được thực thi bởi trình khớp mẫu. Đáng chú ý là có sự khác biệt giữa mẫu Lua và biểu thức chính quy thực sự, với cái trước có bộ đặc điểm nhỏ hơn bao gồm loại trừ các cấu trúc như nhìn trước hoặc tham chiếu ngược.

Xem Thêm

Nhớ rằng, những công cụ này sẽ giúp củng cố hiểu biết của bạn về khớp mẫu của Lua và cung cấp một sân chơi để thử nghiệm với việc thao tác chuỗi. Chúc các bạn lập trình vui vẻ!