Module sintra_5_55_0_0-sintra.string
Funções adicionais para manipulação de strings.
O módulo "herda" de string, então pode ser usado em substituição a este.
Veja também SplitJoin
Functions
| gsplit (s, pat) | Extrai as substrings a partir de um separador. |
| asplit (s, f, sep) | Aplica uma função às substrings de uma dada string, dado um separador. |
| split2array (s, sep, tab) | Guarda todas as substrings em uma tabela. |
| split2record (s, sep, tab) | Guarda todas as substrings em uma tabela. |
| rmsp (s) | Remove os espaços do início e do fim de uma string. |
| notempty (s) | Verifica se uma string é não-vazia (descontando espaços). |
| capitalize (s) | "Formata" uma string, colocando as iniciais em maiúsculas e o resto em minúsculas. |
| scomp (st) | Iterador real das palavras das strings, segundo seus ponteiros. |
| gcomp (s1, s2, sep) | Iterador que compara palavras de duas strings. |
| h_min (s) | Tenta formatar uma string para o padrão "DDh MMmin". |
| tohex (s, largura) | Mostra a string e seus códigos em hexadecimal. |
| subs (s, t) | Cria uma nova string a partir de um modelo e de uma tabela de entradas. |
| criaremoveacentos (cod) | Cria função que substitui os acentos (e outros caracteres não-ASCII) por letras simples. |
| utf8sub (s, i, j) | Cria uma nova string a partir de uma parte de outra string, respeitando os caracteres UTF-8 (codepoints), independente de quantos bytes cada um precisar para ser representado na string. |
| utf8upper (s) | Transforma a string UTF-8 em maiúsculas, inclusive com acentos. |
| utf8lower (s) | Transforma a string UTF-8 em minúsculas, inclusive com acentos. |
| latin2utf8 (s) | Converte uma string em Latin1 (ISO-8859-1) para UTF-8, se necessário. |
Functions
- gsplit (s, pat)
-
Extrai as substrings a partir de um separador.
O separador pode ser definido através de um padrão de Lua.
Código original por Rici Lake em
mensagem da lua-l
Parameters:
- s String a ser processada.
- pat String com o separador.
Returns:
-
Iterador que retorna uma substring, seguida das capturas indicadas
no padrão.
Usage:
for palavra in string.gsplit (frase, "%s+") do print(palavra) end
- asplit (s, f, sep)
-
Aplica uma função às substrings de uma dada string, dado um separador.
Também toma cuidado com a presença do separador dentro de substrings entre aspas.
Parameters:
- s String a ser processada.
- f Função de processamento de cada substring (será chamada com um único parâmetro, a substring, e não precisa retornar nada).
- sep String com o separador (default = ';').
Usage:
string.asplit (frase, print, ' ')
- split2array (s, sep, tab)
-
Guarda todas as substrings em uma tabela.
Parameters:
- s String a ser processada.
- sep String com o separador (default = ';').
- tab Tabela onde as substrings serão armazenadas (opcional).
Returns:
-
Tabela representando um array de substrings.
See also:
Usage:
t = string.split2array (frase, ' ') --> { "palavra1", "palavra2", ... } string.split2array (frase, ' ', t) -- insere na tabela dada
- split2record (s, sep, tab)
-
Guarda todas as substrings em uma tabela.
Parameters:
- s String a ser processada.
- sep String com o separador (default = ';').
- tab Tabela onde as substrings serão armazenadas (opcional).
Returns:
-
Tabela representando um conjunto de substrings.
See also:
Usage:
t = split2record (frase, ' ') --> { palavra1 = true, palavra2 = true, ... }
- rmsp (s)
-
Remove os espaços do início e do fim de uma string.
Também reduz espaços múltiplos por um caractere único.
Parameters:
- s String original (ou nil).
Returns:
-
String ou nil, caso não seja fornecida nenhuma string.
See also:
Usage:
string.rmsp (" a b ") == "a b"
string.rmsp" " == ''
- notempty (s)
-
Verifica se uma string é não-vazia (descontando espaços).
Parameters:
- s String original.
Returns:
-
String sem espaços ou nil, caso seja uma string vazia ou nil.
See also:
Usage:
string.notempty"b" --> "b"
string.notempty' ' --> nil
- capitalize (s)
-
"Formata" uma string, colocando as iniciais em maiúsculas e o resto em
minúsculas.
A função identifica algumas preposições e não as converte.
Baseada em string.upper, portanto não funciona direito com UTF-8.
Parameters:
- s String a ser convertida.
Returns:
-
String "formatada".
Usage:
string.capitalize"FULANO DE TAL" == "Fulano de Tal"
- scomp (st)
-
Iterador real das palavras das strings, segundo seus ponteiros.
Parameters:
- st Tabela com os arrays de palavras de cada string e seus ponteiros.
Returns:
-
String quando a palavra for igual, ou Tabela com as duas palavras,
ou nil quando acabar.
- gcomp (s1, s2, sep)
-
Iterador que compara palavras de duas strings.
Parameters:
- s1 String a ser comparada.
- s2 String a ser comparada.
- sep String com o separador de palavras da string.
Returns:
-
Iterador que retorna uma string ou uma tabela com as duas
substrings diferentes.
- h_min (s)
-
Tenta formatar uma string para o padrão "DDh MMmin".
Parameters:
- s String a ser formatada.
Returns:
- String "formatada" ou nil, em caso de erro.
- nil ou String com mensagem de erro.
Usage:
string.h_min "12:30" == "12h 30min"
string.h_min " 12h 30 min " == "12h 30min"
- tohex (s, largura)
-
Mostra a string e seus códigos em hexadecimal.
Parameters:
- s String a ser exibida.
- largura Número da largura máxima do resultado (default = 68)
Returns:
-
String formatada para exibição.
Usage:
print(string.tohex"abc") --> abc 61 62 63\n
- subs (s, t)
-
Cria uma nova string a partir de um modelo e de uma tabela de entradas.
A nova string irá ser o resultado da substituição de cada nome no modelo
que esteja encerrado em dois cifrões, como em $$nome$$, pelo valor
correspondente na tabela de entradas. Cada nome tem que ser um
identificador, ou seja, não pode incluir pontuação nem espaços.
Parameters:
- s String modelo.
- t Tabela de entradas.
Returns:
-
String com as substituições aplicadas.
- criaremoveacentos (cod)
-
Cria função que substitui os acentos (e outros caracteres não-ASCII) por
letras simples.
Parameters:
- cod String com a codificação em uso (utf8 ou iso88591).
Returns:
-
Função que recebe uma string e retorna uma nova string sem os acentos.
- utf8sub (s, i, j)
-
Cria uma nova string a partir de uma parte de outra string, respeitando
os caracteres UTF-8 (codepoints), independente de quantos bytes cada um
precisar para ser representado na string.
Implementação baseada na função
fixUTF8de Paul Kulchenko (para o ZeroBrane).Parameters:
- s String com a string original.
- i Número com o índice do primeiro caractere UTF-8 (codepoint) da substring (default = 1).
- j Número com o índice do último caractere UTF-8 (codepoint) da substring (default = -1).
Returns:
-
String resultante do "corte".
Usage:
string.utf8sub ("ação", 2, 3) --> "çã"
- utf8upper (s)
-
Transforma a string UTF-8 em maiúsculas, inclusive com acentos.
Parameters:
- s String original.
Returns:
-
String resultante da operação.
- utf8lower (s)
-
Transforma a string UTF-8 em minúsculas, inclusive com acentos.
Parameters:
- s String original.
Returns:
-
String resultante da operação.
- latin2utf8 (s)
-
Converte uma string em Latin1 (ISO-8859-1) para UTF-8, se necessário.
Parameters:
- s String original.
Returns:
-
String em UTF-8.