Trang chủ
Bài 10 : Chuỗi trong Lua
Bài 10 : Chuỗi trong Lua
Lua – Chuỗi Trang trướcTrang tiếp theo Chuỗi là một chuỗi các ký tự cũng như các ký tự điều […]
Lua – Chuỗi
Chuỗi là một chuỗi các ký tự cũng như các ký tự điều khiển giống như nguồn cấp dữ liệu biểu mẫu. Chuỗi có thể được khởi tạo với ba dạng bao gồm:
- Các ký tự giữa các dấu ngoặc kép
- Các ký tự giữa dấu ngoặc kép
- Các ký tự giữa [[và]]
Dưới đây là một ví dụ cho ba hình thức trên.Bản thử trực tiếp
string1 = "Lua" print("\"String 1 is\"",string1) string2 = 'Tutorial' print("String 2 is",string2) string3 = [["Lua Tutorial"]] print("String 3 is",string3) Khi chúng ta chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
"String 1 is" Lua String 2 is Tutorial String 3 is "Lua Tutorial"
Các ký tự của chuỗi thoát được sử dụng trong chuỗi để thay đổi cách diễn giải thông thường của các ký tự. Ví dụ: để in dấu phẩy đảo ngược kép (“”), chúng tôi đã sử dụng \ “trong ví dụ trên. Trình tự thoát và cách sử dụng nó được liệt kê bên dưới trong bảng.
| Trình tự thoát | Sử dụng |
|---|---|
| \Một | chuông |
| \NS | Backspace |
| \NS | Thức ăn dạng |
| \n | Dòng mới |
| \NS | Vận chuyển trở lại |
| \NS | Chuyển hướng |
| \ v | Tab dọc |
| \\ | Gạch chéo ngược |
| \ “ | Dấu ngoặc kép |
| \ ‘ | Dấu nháy đơn |
| \ [ | Dấu ngoặc vuông bên trái |
| \] | Dấu ngoặc vuông bên phải |
Thao tác chuỗi
Lua hỗ trợ chuỗi để thao tác với chuỗi –
| Sr.No. | Phương pháp & Mục đích |
|---|---|
| 1 | string.upper (đối số)Trả về biểu diễn viết hoa của đối số. |
| 2 | string.lower (đối số)Trả về biểu diễn chữ thường của đối số. |
| 3 | string.gsub (mainString, findString, ReplaceString)Trả về một chuỗi bằng cách thay thế các lần xuất hiện của findString bằng ReplaceString. |
| 4 | string.find (mainString, findString,tùy chọnStartIndex, tùy chọnEndIndex)Trả về chỉ mục bắt đầu và chỉ mục kết thúc của chuỗi findString trong chuỗi chính và nil nếu không tìm thấy. |
| 5 | string.reverse (arg)Trả về một chuỗi bằng cách đảo ngược các ký tự của chuỗi đã truyền. |
| 6 | string.format (…)Trả về một chuỗi được định dạng. |
| 7 | string.char (arg) và string.byte (arg)Trả về biểu diễn số và ký tự bên trong của đối số đầu vào. |
| số 8 | string.len (arg)Trả về độ dài của chuỗi đã truyền. |
| 9 | string.rep (string, n))Trả về một chuỗi bằng cách lặp lại cùng một chuỗi n số lần. |
| 10 | ..Do đó toán tử nối hai chuỗi. |
Bây giờ, chúng ta hãy đi sâu vào một vài ví dụ để xem chính xác cách các hàm thao tác chuỗi này hoạt động như thế nào.
Thao tác trường hợp
Dưới đây là một mã mẫu để thao tác các chuỗi thành chữ hoa và chữ thường.Bản thử trực tiếp
string1 = "Lua"; print(string.upper(string1)) print(string.lower(string1))
Khi chúng ta chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
LUA lua
Thay thế một chuỗi con
Dưới đây là một mã mẫu để thay thế các lần xuất hiện của một chuỗi này bằng một chuỗi khác.Bản thử trực tiếp
string = "Lua Tutorial" -- replacing strings newstring = string.gsub(string,"Tutorial","Language") print("The new string is "..newstring) Khi chúng ta chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
The new string is Lua Language
Tìm kiếm và Đảo ngược
Dưới đây là một đoạn mã mẫu để tìm chỉ số của chuỗi con và chuỗi đảo ngược.Bản thử trực tiếp
string = "Lua Tutorial" -- replacing strings print(string.find(string,"Tutorial")) reversedString = string.reverse(string) print("The new string is",reversedString) Khi chúng ta chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
5 12 The new string is lairotuT auL
Định dạng chuỗi
Nhiều lần trong lập trình của chúng tôi, chúng tôi có thể cần in các chuỗi theo cách được định dạng. Bạn có thể sử dụng hàm string.format để định dạng đầu ra như hình dưới đây.Bản thử trực tiếp
string1 = "Lua" string2 = "Tutorial" number1 = 10 number2 = 20 -- Basic string formatting print(string.format("Basic formatting %s %s",string1,string2)) -- Date formatting date = 2; month = 1; year = 2014 print(string.format("Date formatting %02d/%02d/%03d", date, month, year)) -- Decimal formatting print(string.format("%.4f",1/3)) Khi chúng ta chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
Basic formatting Lua Tutorial Date formatting 02/01/2014 0.3333
Biểu diễn ký tự và Byte
Mã mẫu cho biểu diễn ký tự và byte, được sử dụng để chuyển đổi chuỗi từ chuỗi sang biểu diễn bên trong và ngược lại.Bản thử trực tiếp
-- Byte conversion -- First character print(string.byte("Lua")) -- Third character print(string.byte("Lua",3)) -- first character from last print(string.byte("Lua",-1)) -- Second character print(string.byte("Lua",2)) -- Second character from last print(string.byte("Lua",-2)) -- Internal Numeric ASCII Conversion print(string.char(97)) Khi chúng ta chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
76 97 97 117 117 a
Các chức năng phổ biến khác
Các thao tác chuỗi phổ biến bao gồm nối chuỗi, tìm độ dài của chuỗi và đôi khi lặp lại cùng một chuỗi nhiều lần. Ví dụ cho các hoạt động này được đưa ra dưới đây.Bản thử trực tiếp
string1 = "Lua" string2 = "Tutorial" -- String Concatenations using .. print("Concatenated string",string1..string2) -- Length of string print("Length of string1 is ",string.len(string1)) -- Repeating strings repeatedString = string.rep(string1,3) print(repeatedString) Khi chúng ta chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
Concatenated string LuaTutorial Length of string1 is 3 LuaLuaLua
Lượt xem : 205