Tìm chiều dài của một chuỗi ký tự

Lua:
Tìm chiều dài của một chuỗi ký tự

Làm thế nào:

Trong Lua, bạn lấy được độ dài của một chuỗi bằng toán tử #. Đơn giản và nhanh chóng.

local myString = "Hello, Lua!"
print(#myString)  -- Đầu ra: 11

Nếu chuỗi của bạn có ký tự xuống dòng hoặc là chuỗi rỗng thì sao?

local stringWithNewline = "Hello\nLua!"
local emptyString = ""
print(#stringWithNewline)  -- Đầu ra: 10
print(#emptyString)         -- Đầu ra: 0

Ngay cả với ký tự xuống dòng, Lua đếm từng ký tự. Và có, chuỗi rỗng dài 0.

Đào Sâu

Ngày xưa, chuỗi trong một số ngôn ngữ khó xử lý hơn. Bạn có thể cần sử dụng các hàm hoặc phương pháp để lấy độ dài của một chuỗi. Ngày nay, trong Lua, nó đơn giản như sử dụng toán tử #.

Các phương án khác? Nếu bạn đang xử lý các ký tự Unicode, toán tử # có thể gặp sự cố với các ký tự nhiều byte. Trong trường hợp đó, bạn sẽ tìm hiểu về các thư viện như utf8. Lua từ phiên bản 5.3 trở đi đã giới thiệu thư viện tích hợp này.

local unicodeString = "こんにちは" -- Đây là "Hello" trong tiếng Nhật
print(#unicodeString)  -- Đầu ra có thể gây ngạc nhiên nếu bạn không chuẩn bị cho các ký tự nhiều byte!
print(utf8.len(unicodeString))  -- Đầu ra: 5 ký tự như mong đợi

Một chi tiết đáng chú ý: Lua giữ cho chuỗi không thể thay đổi và được sử dụng lại nội bộ qua một cơ chế gọi là nội bộ hóa chuỗi. Điều này tuyệt vì nó tiết kiệm bộ nhớ và làm cho các thao tác độ dài chuỗi nhanh chóng.

Xem Thêm