Saltar al contenido principal

Aplicaciones relacionadas con la biblioteca string

Funciones básicas

FunciónDescripciónEjemploResultado
lenCalcula la longitud de una cadenastring.len("abcd")4
repDevuelve n copias de la cadena sstring.rep("abcd",2)abcdabcd
lowerDevuelve todas las letras de la cadena en minúsculasstring.lower("AbcD")abcd
upperDevuelve todas las letras de la cadena en mayúsculasstring.upper("AbcD")ABCD
formatFormatea una cadenastring.format("the value is:%d",4)the value is:4
subExtrae una subcadenastring.sub("abcd",2)bcd
string.sub("abcd",-2)cd
string.sub("abcd",2,-2)bc
string.sub("abcd",2,3)bc
findBusca una cadena (muestra las posiciones)string.find("cdcdcdcd","ab")nil
string.find("cdcdcdcd","cd")1 2
string.find("cdcdcdcd","cd",7)7 8
matchBusca una cadena (muestra el contenido)string.match("cdcdcdcd","ab")nil
string.match("cdcdcdcd","cd")cd
gsubReemplaza una cadenastring.gsub("abcdabcd","a","z")zbcdzbcd 2
string.gsub("aaaa","a","z",3)zzza 3
byteDevuelve la forma entera de un carácterstring.byte("ABCD",4)68
charConvierte números enteros en caracteres y los concatenastring.char(97,98,99,100)abcd

Patrones de cadenas básicos

Clase de carácterDescripciónEjemploResultado
.Cualquier carácterstring.find("",".")nil
%sEspacio en blancostring.find("ab cd","%s%s")3 4
%SCarácter que no es espacio en blancostring.find("ab cd","%S%S")1 2
%pCarácter de puntuaciónstring.find("ab,.cd","%p%p")3 4
%PCarácter que no es de puntuaciónstring.find("ab,.cd","%P%P")1 2
%cCarácter de controlstring.find("abcd\t\n","%c%c")5 6
%CCarácter que no es de controlstring.find("\t\nabcd","%C%C")3 4
%dDígitostring.find("abcd12","%d%d")5 6
%DCarácter que no es dígitostring.find("12abcd","%D%D")3 4
%xDígito hexadecimalstring.find("efgh","%x%x")1 2
%XCarácter que no es dígito hexadecimalstring.find("efgh","%X%X")3 4
%aLetrastring.find("AB12","%a%a")1 2
%ACarácter que no es letrastring.find("AB12","%A%A")3 4
%lLetra minúsculastring.find("ABab","%l%l")3 4
%LLetra mayúsculastring.find("ABab","%L%L")1 2
%uLetra mayúsculastring.find("ABab","%u%u")1 2
%UCarácter que no es letra mayúsculastring.find("ABab","%U%U")3 4
%wLetra o dígitostring.find("a1()","%w%w")1 2
%WCarácter que no es letra ni dígitostring.find("a1()","%W%W")3 4

Carácter de escape %

Clase de carácterDescripciónEjemploResultado
%Carácter de escapestring.find("abc%..","%%")4 4
string.find("abc..d","%.%.")4 5

Crear un conjunto de caracteres con [], «-» es el carácter de rango y «^» representa el complemento del conjunto

Clase de carácterDescripciónEjemploResultado
[01]Coincide con números binariosstring.find("32123","[01]")3 3
[AB][CD]Coincide con AC, AD, BC y BDstring.find("ABCDEF","[AB][CD]")2 3
[[]]Coincide con un par de corchetes []string.find("ABC[]D","[[]]")4 5
[1-3]Coincide con los dígitos 1-3string.find("312","[1-3][1-3][1-3]")1 3
[b-d]Coincide con las letras b-dstring.find("dbc","[b-d][b-d][b-d]")1 3
[^%s]Coincide con cualquier carácter que no sea espaciostring.find(" a ","[^%s]")3 3
[^%d]Coincide con cualquier carácter que no sea dígitostring.find("123a","[^%d]")4 4
[^%a]Coincide con cualquier carácter que no sea letrastring.find("abc1","[^%a]")4 4

Capturar con "()"

Clase de carácterDescripciónEjemploResultado
()Captura una cadenastring.find("12ab","(%a%a)")3 4 ab
string.find("ab12","(%d%d)")3 4 12

Modificadores de patrones

ModificadorDescripciónEjemploResultado
+Indica uno o más y coincide con el máximo posiblestring.find("aaabbb","(a+b)")1 4 aaab
string.find("cccbbb","(a+b)")nil
-Indica cero o más y coincide con el mínimo posiblestring.find("zzxyyy","(xy-)")3 3 x
string.find("zzzyyy","(x-y)")4 4 y
*Indica cero o más y coincide con el máximo posiblestring.find("mmmnnn","(m*n)")1 4 mmmn
string.find("lllnnn","(m*n)")4 4 n
?Indica cero o unostring.find("aaabbb","(a?b)")3 4 ab
string.find("cccbbb","(a?b)")4 4 b

Usos habituales de match

DescripciónEjemploResultado
Coincidir con chinostring.match("男女abc123","([^%w%p]+)")男女
Coincidir con inglésstring.match("男女abc123","(%a+)")abc
Coincidir con númerosstring.match("男女abc123","(%d+)")123
Coincidir con inglés y númerosstring.match("男女abc123","(%w+)")abc123