🚀 Biblioteca: Texto

Funções para brincar com palavras e frases!

🚀

Tamanho do texto

local nome = "Sol"
exiba(texto.obtenha_comprimento(nome))    -- Mostra: 3 (três letras!)
-- Ou use o operador #
exiba(#nome)    -- Mostra: 3

local frase = "Programar é divertido"
exiba(#frase)   -- Mostra: 22

Maiúsculas e minúsculas

local palavra = "sol"

-- Tudo maiúsculo
exiba(texto.converta_para_maiúscula(palavra))   -- Mostra: SOL

-- Tudo minúsculo
exiba(texto.converta_para_minúscula("OLÁ MUNDO"))   -- Mostra: olá mundo

Pegando pedaços

Extraia parte de um texto:

local frase = "Bom dia, mundo!"

-- Pega do caractere 5 ao 7
exiba(texto.obtenha_subtexto(frase, 5, 7))   -- Mostra: dia

-- Pega do 10 até o fim
exiba(texto.obtenha_subtexto(frase, 10))     -- Mostra: mundo!

Encontrando palavras

local texto = "O gato pulou o muro"

-- Onde está "gato"?
local inicio, fim = texto.encontre(texto, "gato")
exiba(inicio, fim)   -- Mostra: 3, 6

Substituindo texto

local frase = "Eu gosto de maçã"

-- Troca maçã por banana
local nova = texto.substitua_globalmente(frase, "maçã", "banana")
exiba(nova)   -- Mostra: Eu gosto de banana

Repetindo texto

exiba(texto.repita("Ha", 3))     -- Mostra: HaHaHa
exiba(texto.repita("===", 5))   -- Mostra: ===============

Invertendo texto

exiba(texto.inverta("Sol"))    -- Mostra: loS
exiba(texto.inverta("amor"))   -- Mostra: roma
Palavras que são iguais de três pra frente se chamam palíndromos! Exemplo: "asa", "ovo", "arara".

Formatação de texto

-- Formatar texto com valores
local nome = "Maria"
local idade = 25
local mensagem = texto.formate("Olá, %s! Você tem %d anos.", nome, idade)
exiba(mensagem)  -- Olá, Maria! Você tem 25 anos.

Trabalhando com bytes

-- Obter código do caractere
exiba(texto.obtenha_byte("A"))  -- 65

-- Criar caractere a partir do código
exiba(texto.crie_caractere(65))  -- A
exiba(texto.crie_caractere(65, 66, 67))  -- ABC

Busca com padrões

-- Encontrar padrão
local texto = "Meu email é teste@exemplo.com"
local email = texto.combine(texto, "[%w%.]+@[%w%.]+")
exiba(email)  -- teste@exemplo.com

-- Iterar sobre todas as ocorrências
para palavra em texto.combine_globalmente("Sol é legal", "%w+") faça
    exiba(palavra)  -- Sol, é, legal
fim

Empacotamento binário

-- Empacotar dados em formato binário
local dados = texto.empacote("i4 i4", 10, 20)

-- Desempacotar dados binários
local a, b = texto.desempacote("i4 i4", dados)
exiba(a, b)  -- 10, 20

-- Obter tamanho do pacote
local tamanho = texto.obtenha_tamanho_pacote("i4 i4")
exiba(tamanho)  -- 8 bytes

Exemplo: Verificador de palêndromo

função eh_palindromo(palavra)
    local limpa = texto.converta_para_minúscula(palavra)
    local invertida = texto.inverta(limpa)
    retorne limpa == invertida
fim

se eh_palindromo("Arara") então
    exiba("É palíndromo! 🚀")
fim
Agora você pode manipular textos como um profissional!
```