สตริง Lua
สตริงหรือสตริง (String) เป็นสายอักขระประกอบด้วยตัวเลขตัวอักษรขีดดังกล่าว
Lua สตริงภาษาสามารถแสดงโดยใช้วิธีการต่อไปนี้:
- สายเดียวของตัวละครระหว่างเครื่องหมายอัญประกาศ
- สตริงของตัวละครระหว่างคำพูดคู่
- [[พร้อมส่ง]] ระหว่างสายอักขระ
ตัวอย่างของสตริงดังกล่าวข้างต้นในสามวิธีดังต่อไปนี้:
string1 = "Lua" print("\"字符串 1 是\"",string1) string2 = 'w3cschool.cc' print("字符串 2 是",string2) string3 = [["Lua 教程"]] print("字符串 3 是",string3)
เอาท์พุทเป็นรหัสดังกล่าวข้างต้นจะถูกดำเนินการ:
"字符串 1 是" Lua 字符串 2 是 w3cschool.cc 字符串 3 是 "Lua 教程"
หนีตัวอักษรหมายถึงไม่สามารถแสดงได้โดยตรงเช่นปุ่มย้อนกลับ, ปุ่ม Enter และอื่น ๆ ในฐานะที่เป็นเครื่องหมายอัญประกาศสามารถใช้ในการแปลงสตริง "\". "
ทุกตัวหนีและความหมายที่สอดคล้องกัน:
ตัวหนี | ความหมาย | ค่า ASCII (ทศนิยม) |
\ a | เบลล์ (BEL) | 007 |
\ B | Backspace (BS) ตำแหน่งปัจจุบันไปก่อนหน้านี้หนึ่ง | 008 |
\ F | ฟีดในแบบฟอร์ม (FF) ตำแหน่งปัจจุบันไปยังจุดเริ่มต้นของหน้าถัดไป | 012 |
\ n | อาหารเส้น (LF) ตำแหน่งปัจจุบันไปยังจุดเริ่มต้นของบรรทัดถัดไป | 010 |
\ r | กลับรถ (CR) ตำแหน่งปัจจุบันไปยังจุดเริ่มต้นของบรรทัด | 013 |
\ t | แท็บแนวนอน (HT) (ข้ามไปยังตำแหน่งที่แท็บถัดไป) | 009 |
\ V | แท็บแนวตั้ง (VT) | 011 |
\\ | แทนตัวอักษรทับขวา '\' | 092 |
\ ' | ในนามของคำพูดเดียว (วรรค) ตัวละคร | 039 |
\ " | เพราะมันหมายถึงตัวละครที่อ้างดับเบิล | 034 |
\ 0 | อักขระ null (NULL) | 000 |
\ Ddd | จำนวนตัวอักษรใด ๆ 1-3 ฐานแปดเป็นตัวแทน | สามแปด |
\ Xhh | 1-2 ตัวอักษรใด ๆ หมายถึงเลขฐานสิบหก | สองเลขฐานสิบหก |
การจัดการสตริง
Lua ให้หลายวิธีที่จะสนับสนุนการดำเนินงานของสตริง:
เลขที่ | วิธีการและวัตถุประสงค์ |
---|---|
1 | string.upper (อาร์กิวเมนต์): สตริงทุกตัวอักษรพิมพ์ใหญ่ |
2 | string.lower (อาร์กิวเมนต์): สตริงทุกตัวพิมพ์เล็ก |
3 | string.gsub (mainString, findString, replaceString, NUM) ในสตริงทดแทน mainString ต้องการแทนที่สตริง findString สำหรับตัวอักษรที่ถูกแทนที่ replaceString เพื่อแทนที่ตัวอักษร NUM แทนที่เกิด (สามารถปฏิเสธแล้วแทนที่ทั้งหมด) เช่น: > string.gsub("aaaa","a","z",3); zzza 3 |
4 | string.strfind (Str, substr [init , [จบ]]) ค้นหาเนื้อหาที่เฉพาะเจาะจง (พารามิเตอร์ที่สามสำหรับดัชนี) ที่สตริงเป้าหมายที่ระบุและส่งกลับทำเลที่ตั้ง ไม่อยู่ก็จะส่งกลับศูนย์ > string.find("Hello Lua user", "Lua", 1) 7 9 |
5 | string.reverse (หาเรื่อง) ที่จะย้อนกลับสตริง > string.reverse("Lua") auL |
6 | string.format ( ... ) ส่งกลับ printf เหมือนสตริงรูปแบบ > string.format("the value is:%d",4) the value is:4 |
7 | string.char (หาเรื่อง) และ string.byte (หาเรื่อง [int]) ตัวเลขจำนวนเต็มถ่านจะกลายเป็นตัวอักษรและการเชื่อมต่อตัวละครไบต์แปลงเป็นค่าจำนวนเต็ม (คุณสามารถระบุตัวอักษรตัวอักษรตัวแรกโดยค่าเริ่มต้น) > string.char(97,98,99,100) abcd > string.byte("ABCD",4) 68 > string.byte("ABCD") 65 > |
8 | string.len (หาเรื่อง) ความยาวสาย Compute string.len("abc") 3 |
9 | string.rep (String, N)) ส่งคืนสำเนา n ของสตริงสตริง > string.rep("abcd",2) abcdabcd |
10 | .. เชื่อมโยงสองสาย > print("www.w3cschool".."cc") www.w3cschoolcc |
แปลงกรณีสตริง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการแปลงกรณี string:
string1 = "Lua"; print(string.upper(string1)) print(string.lower(string1))
รหัสข้างต้นจะถูกดำเนินการเป็นผลมาจาก:
LUA lua
ค้นหาสตริงและย้อนกลับ
ตัวอย่างต่อไปนี้แสดงให้เห็นว่าสตริงเพื่อค้นหาย้อนกลับและการดำเนินงาน:
string = "Lua Tutorial" -- 查找字符串 print(string.find(string,"Tutorial")) reversedString = string.reverse(string) print("新字符串为",reversedString)
รหัสข้างต้นจะถูกดำเนินการเป็นผลมาจาก:
5 12 新字符串为 lairotuT auL
การจัดรูปแบบสตริง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการจัดรูปแบบสตริง:
string1 = "Lua" string2 = "Tutorial" number1 = 10 number2 = 20 -- 基本字符串格式化 print(string.format("基本格式化 %s %s",string1,string2)) -- 日期格式化 date = 2; month = 1; year = 2014 print(string.format("日期格式化 %02d/%02d/%03d", date, month, year)) -- 十进制格式化 print(string.format("%.4f",1/3))
รหัสข้างต้นจะถูกดำเนินการเป็นผลมาจาก:
基本格式化 Lua Tutorial 日期格式化 02/01/2014 0.3333
ตัวอักษรและการแปลงจำนวนเต็ม
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงตัวอักษรและจำนวนเต็มแปลง:
-- 字符转换 -- 转换第一个字符 print(string.byte("Lua")) -- 转换第三个字符 print(string.byte("Lua",3)) -- 转换末尾第一个字符 print(string.byte("Lua",-1)) -- 第二个字符 print(string.byte("Lua",2)) -- 转换末尾第二个字符 print(string.byte("Lua",-2)) -- 整数 ASCII 码转换为字符 print(string.char(97))
รหัสข้างต้นจะถูกดำเนินการเป็นผลมาจาก:
76 97 97 117 117 a
ฟังก์ชั่นที่ใช้กันทั่วไปอื่น ๆ
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการดำเนินงานของสายอื่น ๆ เช่นการคำนวณความยาวสตริง, สตริง, การจำลองแบบสตริง:
string1 = "www." string2 = "w3cschool" string3 = ".cc" -- 使用 .. 进行字符串连接 print("连接字符串",string1..string2..string3) -- 字符串长度 print("字符串长度 ",string.len(string2)) -- 字符串复制 2 次 repeatedString = string.rep(string2,2) print(repeatedString)
รหัสข้างต้นจะถูกดำเนินการเป็นผลมาจาก:
连接字符串 www.w3cschool.cc 字符串长度 9 w3cschoolw3cschool