Entendendo as Strings Lua
Neste artigo, exploraremos strings Lua , suas propriedades, operações e uso com exemplos.
Strings são um tipo de dados importante na programação que representam uma sequência de caracteres. Eles são amplamente utilizados para armazenar e manipular dados textuais.
Em Lua, as strings podem ser criadas usando aspas simples ( ' ), aspas duplas ( “ ) ou colchetes (a string é colocada entre [[ e ]]).
Propriedades das Strings Lua
As strings Lua são imutáveis, o que significa que não podem ser alteradas após a criação.
Eles podem ser concatenados, fatiados e comparados, mas qualquer modificação criará um novo objeto string.
As strings em Lua têm um comprimento máximo de 2^31 – 1 bytes e são codificadas em UTF-8 por padrão. No entanto, é possível usar outras codificações manipulando manualmente os bytes da string.
O exemplo abaixo demonstra a inicialização de strings em Lua:
Example:
Caracteres de escape
Os caracteres de escape são caracteres especiais que nos permitem incluir caracteres em uma string que, de outra forma, seriam difíceis ou impossíveis de digitar diretamente.
Esses caracteres são representados por uma barra invertida (\) seguida por um código especial.
A tabela a seguir exibe os caracteres de escape disponíveis em Lua:
Símbolos | Uso |
\a | Sino |
\b | Backspace |
\f | Formfeed |
\n | Nova linha |
\r | Retorno de carro |
\t | Aba |
\v | Aba vertical |
\\ | Barra invertida |
\” | Aspas duplas |
\' | Aspas simples |
\[ | Colchete esquerdo |
\] | Colchete direito |
O exemplo a seguir implementa os caracteres de escape em Lua:
Example:
Métodos de cadeia de caracteres Lua
Lua suporta os seguintes métodos de string:
String.upper(str)
Retorna o argumento str com todas as suas letras em maiúsculas.
Aqui está um breve exemplo que usa string.upper em Lua:
Example:
string.lower(str)
Retorna a string passada como argumento com todos os caracteres alfabéticos em minúsculo.
O exemplo abaixo faz uso da função string.lower em Lua:
Example:
string.sub(str, i, j)
Este método é usado para extrair uma substring de uma string. São necessários dois ou três argumentos: a string(str) da qual extrair a substring, o índice inicial i (inclusive) da substring e o índice final opcional j (inclusive) da substring.
O exemplo a seguir demonstra o método string.sub em Lua:
Example:
string.gsub(var,localizar,substituir,[n])
Substitui as ocorrências de um padrão em uma string por uma nova string ou valor.
Aqui, var é a variável de string na qual a operação é executada, find é a string a ser substituída, replace é a string a ser adicionada no lugar de find enquanto [n] é opcional onde o número máximo de substituições deve ser especificado.
Se não for especificado, todas as ocorrências serão substituídas.
Vamos explorar o método string.gsub() usando um exemplo:
Example:
string.find(var,find,[first,[plain]])
Esta função encontra a primeira ocorrência de um padrão em uma string e retorna seus índices inicial e final.
Aqui, var é a variável de string na qual a operação é executada e find é a string que está sendo pesquisada.
O argumento nomeado como primeiro especifica o índice inicial da pesquisa e é opcional. Além disso, plain é um valor booleano que especifica se o valor encontrado é um padrão ou texto simples. Se esse valor for verdadeiro, o valor de localização será um texto sem formatação. Também é opcional.
Para uma compreensão clara de string.find() , vamos dar uma olhada em um exemplo:
Example:
Lua string.reverse(str)
Usado para inverter a ordem dos caracteres em uma string passada como argumento.
O exemplo a seguir demonstra o método string.reverse() em Lua:
Example:
Lua string.format(str,…)
Retorna uma string formatada. Aqui str é a string que tem espaços reservados para valores enquanto … representa valores a serem inseridos nos espaços reservados.
Os espaços reservados são especificados abaixo:
Espaços reservados | Visão geral |
%d | insere um valor inteiro. |
%f | insere um valor de ponto flutuante. |
%s | insere um valor de string. |
Para simplificar o conceito, vamos visualizar um exemplo:
Example:
Lua string.char(str)
Esta é uma função em Lua que recebe qualquer número de argumentos inteiros e retorna uma string que consiste nos caracteres com os valores Unicode correspondentes.
O exemplo a seguir mostra a implementação do método string.char():
Example:
Lua string.byte(str)
Ele retorna o (s) valor(es) ASCII do(s) caracter(es) na(s) posição(ões) especificada(s) em uma string, dada uma string e um índice opcional.
Na ausência de um índice, a função retorna os valores ASCII de todos os caracteres.
O exemplo abaixo ilustra o método string.byte() em Lua:
Example:
Lua string.len(str)
Retorna o comprimento de uma string passada como um argumento.
Este é um breve exemplo que cobre o método string.len() em Lua:
Example:
Lua string.rep(str, n))
Uma string(str) e um count(n) são passados como argumentos, e uma nova string é retornada consistindo na string original repetida vezes.
O exemplo a seguir fornece uma visão geral do método string.rep() em Lua:
Example:
Lua string.match(str, find)
Usado para pesquisar uma string (str) por um padrão (find) e retorna a substring correspondente.
Requer dois argumentos:
A primeira é a string a ser pesquisada e a segunda é um padrão a ser comparado.
A correspondência de padrões é feita usando uma combinação de caracteres literais e caracteres especiais que possuem um significado específico na sintaxe de correspondência de padrões de Lua .
Este exemplo faz uso do método string.match em Lua: