Chuyển tới nội dung chính

Ứng dụng của thư viện string

Các hàm cơ bản

HàmMô tảVí dụKết quả
lenĐộ dài chuỗistring.len("abcd")4
repLặp lại chuỗi n lầnstring.rep("abcd",2)abcdabcd
lowerChuyển thành chữ thườngstring.lower("AbcD")abcd
upperChuyển thành chữ hoastring.upper("AbcD")ABCD
formatĐịnh dạng chuỗistring.format("giá trị là:%d",4)giá trị là:4
subChuỗi constring.sub("abcd",2)bcd
string.sub("abcd",-2)cd
string.sub("abcd",2,-2)bc
string.sub("abcd",2,3)bc
findTìm chuỗi con (vị trí)string.find("cdcdcdcd","ab")nil
string.find("cdcdcdcd","cd")1 2
string.find("cdcdcdcd","cd",7)7 8
matchTìm chuỗi con (nội dung)string.match("cdcdcdcd","ab")nil
string.match("cdcdcdcd","cd")cd
gsubThay thế trong chuỗistring.gsub("abcdabcd","a","z")zbcdzbcd 2
string.gsub("aaaa","a","z",3)zzza 3
byteKý tự thành số nguyênstring.byte("ABCD",4)68
charCác số nguyên thành ký tựstring.char(97,98,99,100)abcd

Mẫu cơ bản

LớpMô tảVí dụKết quả
.Ký tự bất kỳstring.find("",".")nil
%sKhoảng trắngstring.find("ab cd","%s%s")3 4
%SKhông phải khoảng trắngstring.find("ab cd","%S%S")1 2
%pDấu câustring.find("ab,.cd","%p%p")3 4
%PKhông phải dấu câustring.find("ab,.cd","%P%P")1 2
%cKý tự điều khiểnstring.find("abcd\t\n","%c%c")5 6
%CKhông phải ký tự điều khiểnstring.find("\t\nabcd","%C%C")3 4
%dChữ sốstring.find("abcd12","%d%d")5 6
%DKhông phải chữ sốstring.find("12abcd","%D%D")3 4
%xChữ số thập lục phânstring.find("efgh","%x%x")1 2
%XKhông phải chữ số thập lục phânstring.find("efgh","%X%X")3 4
%aChữ cáistring.find("AB12","%a%a")1 2
%AKhông phải chữ cáistring.find("AB12","%A%A")3 4
%lChữ thườngstring.find("ABab","%l%l")3 4
%LChữ hoastring.find("ABab","%L%L")1 2
%uChữ hoastring.find("ABab","%u%u")1 2
%UKhông phải chữ hoastring.find("ABab","%U%U")3 4
%wChữ cái hoặc chữ sốstring.find("a1()","%w%w")1 2
%WKhông phải chữ cái hoặc chữ sốstring.find("a1()","%W%W")3 4

Ký tự thoát %

LớpMô tảVí dụKết quả
%Thoát dấu phần trămstring.find("abc%..","%%")4 4
string.find("abc..d","%.%.")4 5

Lớp ký tự với []

LớpMô tảVí dụKết quả
[01]Chữ số nhị phânstring.find("32123","[01]")3 3
[AB][CD]AC, AD, BC, BDstring.find("ABCDEF","[AB][CD]")2 3
[[]]Một cặp []string.find("ABC[]D","[[]]")4 5
[1-3]Chữ số từ 1 đến 3string.find("312","[1-3][1-3][1-3]")1 3
[b-d]Chữ cái từ b đến dstring.find("dbc","[b-d][b-d][b-d]")1 3
[^%s]Không phải khoảng trắngstring.find(" a ","[^%s]")3 3
[^%d]Không phải chữ sốstring.find("123a","[^%d]")4 4
[^%a]Không phải chữ cáistring.find("abc1","[^%a]")4 4

Nhóm bắt với ()

LớpMô tảVí dụKết quả
()Nhóm bắtstring.find("12ab","(%a%a)")3 4 ab
string.find("ab12","(%d%d)")3 4 12

Bộ sửa đổi mẫu

Bộ sửa đổiMô tảVí dụKết quả
+Một hoặc nhiều (tham lam)string.find("aaabbb","(a+b)")1 4 aaab
string.find("cccbbb","(a+b)")nil
-Không hoặc nhiều (không tham lam)string.find("zzxyyy","(xy-)")3 3 x
string.find("zzzyyy","(x-y)")4 4 y
*Không hoặc nhiều (tham lam)string.find("mmmnnn","(m*n)")1 4 mmmn
string.find("lllnnn","(m*n)")4 4 n
?Không hoặc mộtstring.find("aaabbb","(a?b)")3 4 ab
string.find("cccbbb","(a?b)")4 4 b

Cách dùng match thường gặp

Mô tảVí dụKết quả
Khớp ký tự tiếng Trungstring.match("男女abc123","([^%w%p]+)")男女
Khớp chữ cáistring.match("男女abc123","(%a+)")abc
Khớp chữ sốstring.match("男女abc123","(%d+)")123
Khớp chữ cái và chữ sốstring.match("男女abc123","(%w+)")abc123