5 bibliotecas JavaScript para trabalhar com strings

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 ""; //  if (/\s+/.test(match))  
    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 lefte 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 
// 'This is a link'

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; 
//'fooBar'

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
//'Capitalize dash camel case underscore trim'

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; 
//My string full of punct

Aqui você pode encontrar informações mais detalhadas sobre esta biblioteca e seus métodos.

2. Voca


A biblioteca JavaScript Vocaoferece 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, Vocaexecute 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');
// => 'fooBar'

v.camelCase('FooBar');
// => 'fooBar'

v.camelCase('---Foo---bAr---');
// => 'fooBar'

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'); // or 'café'
// => 'cafe'

v.latinise('août décembre');
// => 'aout decembre'

v.latinise('   ');
// => 'kak prekrasen etot mir'

Método IsAlphaDigit


O método isAlphaDigit()retornará truese a sequência transmitida a ele contiver apenas caracteres alfanuméricos.

var v = require('voca');
v.isAlphaDigit('year2020');
// => true

v.isAlphaDigit('1448');
// => true

v.isAlphaDigit('40-20');
// => false

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');
// => 4

v.countWords('GravityCanCrossDimensions');
// => 4

v.countWords('Gravity - can cross dimensions!');
// => 4

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}');
// => '\(hours\)\[minutes\]\{seconds\}'

→ Detalhes sobre a biblioteca Vocapodem ser encontrados aqui

3. 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.jsexecute o seguinte comando:

npm i anchorme

▍Use


import anchorme from "anchorme"// 
//var anchorme = require("anchorme").default;
const input = "some text with a link.com"const resultA = anchorme(input);
//some text with a <a href="http://link.com">link.com</a>

O processamento da cadeia de caracteres pode ser configurado usando um objeto com parâmetros que podem ser passados ​​para a biblioteca.

→ Detalhes anchorme.jspodem ser encontrados aqui

4. Underscore.string


Uma biblioteca underscore.stringé uma extensão underscore.jspara 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.jse 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)
// "1,000.000"
_.numberFormat(123456789.123, 5, '.', ',');
// "123,456,789.12300"

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');
// 2

Método Chop


O método chop()divide a cadeia passada em partes.

var _ = require("underscore.string");
_.chop('whitespace', 3);
// ['whi','tes','pac','e']

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–03FFFFe 040000–10FFFFpodem 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 bibliotecas

e 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.


All Articles