5 bibliotecas de JavaScript para trabajar con cadenas

Trabajar con cadenas puede ser difícil debido al hecho de que implica resolver muchos problemas diversos. Por ejemplo, para simplemente convertir una cadena a un estilo camello, necesita algunas líneas 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();
  });
}

Este código, por cierto, en el papel de la respuesta a la pregunta de traer cadenas al estilo "camello", reunió la mayoría de los votos en Stack Overflow. Pero incluso él no puede procesar correctamente, por ejemplo, una línea de este tipo:

---Foo---bAr---


El resultado del procesamiento de una cadena --- Foo --- bAr ---

Pero, ¿qué pasa si estas cadenas, sin embargo, necesitan ser procesadas? Puede arreglar este ejemplo, o puede recurrir a la ayuda de bibliotecas especializadas. Simplifican la implementación de algoritmos complejos y, además, proporcionan al programador herramientas mucho más flexibles y versátiles que, por ejemplo, el ejemplo anterior. Esto puede significar que para resolver una determinada tarea difícil, deberá llamar a un solo método.

Hablemos de varias bibliotecas de JavaScript diseñadas para trabajar con cadenas.

1. String.js


La biblioteca string.js, o simplemente S, es una biblioteca de JavaScript pequeña (menos de 5 Kb, minificada y comprimida) que se puede usar en un navegador y en Node.js. Le da al programador un gran conjunto de métodos para trabajar con cadenas. Estos son métodos de objeto string.jsque, por conveniencia, incluyen métodos de cadena estándar. Un objeto string.jses un tipo de envoltorio para cadenas regulares.

▍Instalación


Para instalar la biblioteca string.js, solo use el siguiente comando:

npm i string

▍ Métodos notables


Entre método


El método between(left, right)extrae de la cadena la subcadena contenida entre las líneas lefty right. Por ejemplo, puede usar este método para extraer elementos entre dos etiquetas HTML:

var S = require('string');
S('<a>This is a link</a>').between('<a>', '</a>').s 
// 'This is a link'

Método Camelize


El método camelize()elimina espacios, guiones bajos y guiones de la cadena procesada, y convierte esta cadena a un estilo "camello". Este método puede usarse para resolver el problema mencionado al principio del material.

var S = require('string');
S('---Foo---bAr---').camelize().s; 
//'fooBar'

Método humanizar


El método humanize()lleva la cadena procesada a una forma legible. Si algo como esto tuviera que implementarse desde cero, entonces tendrían que escribirse bastantes líneas de código.

var S = require('string');
S('   capitalize dash-CamelCase_underscore trim  ').humanize().s
//'Capitalize dash camel case underscore trim'

Método StripPunctuation


El método stripPunctuation()elimina los signos de puntuación y varios caracteres especiales, como asteriscos y corchetes, de la cadena. Si crea dicha función usted mismo, existe un alto riesgo de olvidar cualquier personaje que deba procesar.

var S = require('string');
S('My, st[ring] *full* of %punct)').stripPunctuation().s; 
//My string full of punct

Aquí puede encontrar información más detallada sobre esta biblioteca y sus métodos.

2. Voca


La biblioteca de JavaScript Vocanos ofrece características valiosas que mejoran la usabilidad de las cadenas. Entre sus características están las siguientes:

  • Cambiar el caso de los personajes.
  • Elimina los caracteres especificados al principio y al final de la línea de tiempo.
  • Agregar una cadena a una longitud dada.
  • Convertir una cadena en una cadena, cuyas palabras están separadas por guiones.
  • Escribir una cadena en letras latinas.
  • Montaje de líneas según patrones.
  • Recortar cadenas a la longitud especificada
  • Escapar caracteres especiales para HTML.

El diseño modular de la biblioteca permite, si es necesario, cargar no toda la biblioteca, sino funciones individuales. Esto le permite optimizar paquetes de aplicaciones usando esta biblioteca. El código de la biblioteca está completamente probado, bien documentado y bien mantenido.

▍Instalación


Para instalar, Vocaejecute el siguiente comando:

npm i voca

▍ Métodos notables


Método CamelCase


El método camelCase()convierte la cadena que se le pasa en una cadena escrita en el estilo "camello".

var v = require('voca');
v.camelCase('foo Bar');
// => 'fooBar'

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

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

Método de latinización


El método latinize()devuelve el resultado de convertir la cadena que se le pasa en una cadena escrita en 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


El método isAlphaDigit()devuelve truesi la cadena que se le pasa contiene solo caracteres alfanuméricos.

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

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

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

Método CountWords


El método countWords()devuelve el número de palabras en la cadena que se le pasa.

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


El método escapeRegExp()devuelve una cadena basada en la cadena que se le pasa, en la que se escapan los caracteres especiales.

var v = require('voca');
v.escapeRegExp('(hours)[minutes]{seconds}');
// => '\(hours\)\[minutes\]\{seconds\}'

→ Los detalles sobre la biblioteca Vocase pueden encontrar aquí

3. Anchorme.js


Esta es una biblioteca de JavaScript compacta y rápida para encontrar URL y direcciones de correo electrónico en texto y para convertirlas en hipervínculos funcionales. Estas son sus principales características:

  • Alta sensibilidad, baja tasa de falsos positivos.
  • Validación de enlaces y direcciones de correo electrónico de la lista completa de IANA.
  • Validación de números de puerto (si los hay).
  • Validación de direcciones IP (si está disponible).
  • Soporte para URLs escritas con caracteres que no sean caracteres latinos.

▍Instalación


Para instalar, anchorme.jsejecute el siguiente comando:

npm i anchorme

▍Utilizar


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>

El procesamiento de la cadena se puede configurar utilizando un objeto con parámetros que se pueden pasar a la biblioteca.

→ Los detalles anchorme.jsse pueden encontrar aquí

4. Underscore.string


Una biblioteca underscore.stringes una extensión underscore.jspara trabajar con cadenas, que se puede usar por separado underscore.js. Esta biblioteca fue influenciada por ideas de proyectos prototype.js, right.jsy underscore.js.

Esta biblioteca ofrece al desarrollador muchas funciones útiles diseñadas para trabajar con cadenas. Éstos son algunos de ellos:

  • capitalizar ();
  • limpio ();
  • incluye ();
  • cuenta ();
  • escapeHTML ();
  • unescapeHTML ();
  • insertar ();
  • empalme ();
  • comienza con ();
  • termina con ();
  • titleize ();
  • podar ();
  • truncar ().

▍Instalación


Aquí está el comando con el que puede instalar la biblioteca:

npm i underscore.string

▍ Métodos notables


Método NumberFormat


El método está numberFormat()diseñado para formatear números.

var _ = require("underscore.string");
_.numberFormat(1000, 3)
// "1,000.000"
_.numberFormat(123456789.123, 5, '.', ',');
// "123,456,789.12300"

Método de Levenshtein


El método levenshtein()devuelve la distancia de Levenshtein entre dos líneas. Lea más sobre el algoritmo utilizado en este método aquí .

var _ = require("underscore.string");
_.levenshtein('kitten', 'kittah');
// 2

Método de corte


El método chop()divide la cadena que se le pasa en partes.

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

Aquí hay una página donde puede encontrar detalles sobre la bibliotecaunderscore.string

5. Stringz


La característica principal de la biblioteca stringzes que puede funcionar con caracteres Unicode.

Si, sin usar ninguna biblioteca, se ejecuta el siguiente código, resulta que la longitud de la cadena es 2. Lo que



sucede es que el método JS-string length()devuelve el número de puntos de código de la cadena, no el número de caracteres. De hecho, algunos caracteres están en rangos 010000–03FFFFy 040000–10FFFFpueden usar hasta 4 bytes (32 bits) por punto de código, pero esto no cambia la respuesta: para representar algunos caracteres, necesita más de 2 bytes, como resultado, están representados por más de un punto de código.

Aquí está el material sobre los problemas de procesamiento de caracteres Unicode en JavaScript.

▍Instalación


Para instalar esta biblioteca, necesita el siguiente comando:

npm i stringz

▍ Métodos notables


Método de límite


El método limit()convierte la cadena a la longitud especificada.



Método ToArray


El método toArray()convierte una cadena en una matriz.



Aquí está la página del repositorio de la biblioteca

¿Y qué herramientas auxiliares utiliza para trabajar con cadenas?

Le recordamos que continuamos con el concurso de predicción en el que puede ganar un nuevo iPhone. Todavía hay tiempo para entrar y hacer el pronóstico más preciso sobre los valores tópicos.


All Articles