Trabalhar com seqüências de caracteres pode ser difícil devido ao fato de envolver a solução de muitos problemas diversos. Por exemplo, para simplesmente converter uma string em um estilo de camelo, você precisa de algumas linhas de código:function camelize(str) {
return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, index) {
if (+match === 0) re
turn "";
return index === 0 ? match.toLowerCase() : match.toUpperCase();
});
}
A propósito, esse trecho de código, no papel de responder à questão de trazer as strings para o estilo "camel", obteve o maior número de votos no Stack Overflow. Mas mesmo ele não é capaz de processar corretamente, por exemplo, essa linha:---Foo---bAr---
O resultado do processamento de uma string --- Foo --- bAr ---Mas e se essas strings, no entanto, precisarem ser processadas? Você pode corrigir este exemplo ou recorrer à ajuda de bibliotecas especializadas. Eles simplificam a implementação de algoritmos complexos e, além disso, fornecem ao programador ferramentas muito mais flexíveis e versáteis do que, por exemplo, o exemplo acima. Isso pode significar que, para resolver uma tarefa difícil, você precisará chamar apenas um método.Vamos falar sobre várias bibliotecas JavaScript projetadas para trabalhar com strings.1. String.js
A biblioteca string.js
, ou simplesmente S
, é uma pequena biblioteca JavaScript (com menos de 5 Kb compactada e compactada) que pode ser usada no navegador e no Node.js. Ele fornece ao programador um grande conjunto de métodos para trabalhar com seqüências de caracteres. Estes são métodos de objeto string.js
, que, por conveniência, incluem métodos de string padrão. Um objeto string.js
é um tipo de invólucro para seqüências regulares.▍Instalação
Para instalar a biblioteca string.js
, basta usar o seguinte comando:npm i string
Methods Métodos notáveis
Entre método
O método between(left, right)
extrai da string a substring contida entre as linhas left
e right
. Por exemplo, você pode usar esse método para extrair elementos entre duas tags HTML:var S = require('string');
S('<a>This is a link</a>').between('<a>', '</a>').s
Método Camelize
O método camelize()
remove espaços, sublinhados, traços da sequência processada e converte essa sequência em um estilo "camelo". Este método pode ser usado para resolver o problema mencionado no início do material.var S = require('string');
S('---Foo---bAr---').camelize().s;
Humanize method
O método humanize()
traz a sequência processada para um formulário legível. Se algo assim tivesse que ser implementado do zero, bastaria que algumas linhas de código fossem escritas.var S = require('string');
S(' capitalize dash-CamelCase_underscore trim ').humanize().s
Método StripPunctuation
O método stripPunctuation()
remove sinais de pontuação e vários caracteres especiais, como asteriscos e colchetes da seqüência de caracteres. Se você mesmo criar essa função - há um alto risco de esquecer qualquer personagem que ela deva processar.var S = require('string');
S('My, st[ring] *full* of %punct)').stripPunctuation().s;
→ Aqui você pode encontrar informações mais detalhadas sobre esta biblioteca e seus métodos.2. Voca
A biblioteca JavaScript Voca
oferece recursos valiosos que aprimoram a usabilidade de strings. Entre suas características estão as seguintes:- Alterar maiúsculas e minúsculas de caracteres.
- Exclui os caracteres especificados no início e no final da linha do tempo.
- Adicionando uma string a um determinado comprimento.
- Convertendo uma string em uma string, cujas palavras são separadas por hífens.
- Escrevendo uma string em letras latinas.
- Montagem de linhas de acordo com padrões.
- Aparar cordas no comprimento especificado
- Escapando caracteres especiais para HTML.
O design modular da biblioteca permite, se necessário, carregar não a biblioteca inteira, mas funções individuais. Isso permite otimizar pacotes de aplicativos usando esta biblioteca. O código da biblioteca é totalmente testado, bem documentado e bem conservado.▍Instalação
Para instalar, Voca
execute o seguinte comando:npm i voca
Methods Métodos notáveis
Método CamelCase
O método camelCase()
converte a string passada para ela em uma string gravada no estilo "camel".var v = require('voca');
v.camelCase('foo Bar');
v.camelCase('FooBar');
v.camelCase('---Foo---bAr---');
Método Latinize
O método latinize()
retorna o resultado da conversão da sequência passada em uma sequência escrita em letras latinas.var v = require('voca');
v.latinise('cafe\u0301');
v.latinise('août décembre');
v.latinise(' ');
Método IsAlphaDigit
O método isAlphaDigit()
retornará true
se a sequência transmitida a ele contiver apenas caracteres alfanuméricos.var v = require('voca');
v.isAlphaDigit('year2020');
v.isAlphaDigit('1448');
v.isAlphaDigit('40-20');
Método CountWords
O método countWords()
retorna o número de palavras na string passada para ele.var v = require('voca');
v.countWords('gravity can cross dimensions');
v.countWords('GravityCanCrossDimensions');
v.countWords('Gravity - can cross dimensions!');
Método EscapeRegExp
O método escapeRegExp()
retorna uma string com base na string passada a ele, na qual caracteres especiais são escapados.var v = require('voca');
v.escapeRegExp('(hours)[minutes]{seconds}');
→ Detalhes sobre a biblioteca Voca
podem ser encontrados aqui3. Anchorme.js
Esta é uma biblioteca JavaScript compacta e rápida para localizar URLs e endereços de email em texto e convertê-los em hiperlinks funcionais. Aqui estão suas principais características:- Alta sensibilidade, baixa taxa de falsos positivos.
- Validação de links e endereços de email da lista completa da IANA.
- Validação de números de porta (se houver).
- Validação de endereços IP (se disponível).
- Suporte para URLs escritos com caracteres diferentes de caracteres latinos.
▍Instalação
Para instalar, anchorme.js
execute o seguinte comando:npm i anchorme
▍Use
import anchorme from "anchorme";
const input = "some text with a link.com";
const resultA = anchorme(input);
O processamento da cadeia de caracteres pode ser configurado usando um objeto com parâmetros que podem ser passados para a biblioteca.→ Detalhes anchorme.js
podem ser encontrados aqui4. Underscore.string
Uma biblioteca underscore.string
é uma extensão underscore.js
para trabalhar com seqüências de caracteres, que podem ser usadas separadamente underscore.js
. Esta biblioteca foi influenciado pelas idéias do projeto prototype.js
, right.js
e underscore.js
.Essa biblioteca oferece ao desenvolvedor muitas funções úteis criadas para trabalhar com strings. Aqui estão alguns deles:- capitalizar ();
- limpar \ limpo ();
- inclui ();
- count ();
- escapeHTML ();
- unescapeHTML ();
- insert ();
- emenda ();
- começa com ();
- termina com ();
- titleize ();
- aparar ();
- truncado ().
▍Instalação
Aqui está o comando com o qual você pode instalar a biblioteca:npm i underscore.string
Methods Métodos notáveis
Método NumberFormat
O método foi numberFormat()
projetado para formatar números.var _ = require("underscore.string");
_.numberFormat(1000, 3)
_.numberFormat(123456789.123, 5, '.', ',');
Método de Levenshtein
O método levenshtein()
retorna a distância de Levenshtein entre duas linhas. Leia mais sobre o algoritmo usado neste método aqui .var _ = require("underscore.string");
_.levenshtein('kitten', 'kittah');
Método Chop
O método chop()
divide a cadeia passada em partes.var _ = require("underscore.string");
_.chop('whitespace', 3);
→ Aqui está uma página onde você pode encontrar detalhes sobre a bibliotecaunderscore.string
5. Stringz
A principal característica da biblioteca stringz
é que ela pode trabalhar com caracteres Unicode.Se, sem usar nenhuma biblioteca, o código a seguir for executado, o comprimento da string será 2. O
método JS-string length()
retornará o número de pontos de código da string, e não o número de caracteres. De fato, alguns caracteres estão em intervalos 010000–03FFFF
e 040000–10FFFF
podem usar até 4 bytes (32 bits) por ponto de código, mas isso não altera a resposta: para representar alguns caracteres, você precisa de mais de 2 bytes, como resultado, eles são representados por mais de um ponto de código.→ Aqui está o material sobre os problemas de processamento de caracteres Unicode em JavaScript.▍Instalação
Para instalar esta biblioteca, você precisa do seguinte comando:npm i stringz
Methods Métodos notáveis
Método de limite
O método limit()
lança a string no comprimento especificado.
Método ToArray
O método toArray()
converte uma string em uma matriz.
→ Aqui está a página do repositório de bibliotecase quais ferramentas auxiliares você usa para trabalhar com strings?Lembramos que continuamos o concurso de previsões no qual você pode ganhar um novo iPhone. Ainda há tempo para entrar nele e fazer a previsão mais precisa dos valores atuais.
