Cómo dividir una cadena en JavaScript

En este tutorial, veremos cómo dividir una cadena en JavaScript, usando el método split() con y sin expresiones regulares.

Introducción

JavaScript tiene muchos métodos incorporados útiles para la manipulación de cadenas, uno de estos métodos es el método split().

En este artículo, veremos más de cerca el método split() y cómo podemos usarlo junto con expresiones regulares para dividir una cadena larga de la manera que queremos.

Método split() de JavaScript

Cuando el método split(delimiter, limit) se usa en una cadena, devuelve una matriz de subcadenas y usa el valor del argumento delimiter como delimitador. El argumento delimitador también se puede especificar como una expresión regular, que luego se usará para buscar en la cadena original para encontrar delimitadores que coincidan con la expresión especificada.

Además, podemos especificar el argumento opcional límite, que especifica cuántos elementos queremos en nuestra matriz de subcadenas resultante. Establecer limit=2, por ejemplo, generará una matriz que contiene las dos primeras subcadenas separadas por un delimitador en la cadena original:

1
2
3
4
const str = "JavaScript is the best programming language!";

const words = str.split(" ");
console.log(words);

Aquí, la cadena se dividirá en cada nueva palabra:

1
["JavaScript", "is", "the", "best", "programming", "language!" ]

Si establecemos el delimitador en otra cosa, como:

1
2
const chars = str.split("");
console.log(chars);

La cadena se dividirá en cada carácter:

1
["J", "a", "v", "a", "S", "c", "r", "i", "p", "t", " ", "i", "s", " ", "t", "h", "e", " ", "b", "e", "s", "t", " ", "p", "r", "o", "g", "r", "a", "m", "m", "i", "n", "g", " ", "l", "a", "n", "g", "u", "a", "g", "e", "!"]

Expresiones regulares con el método split()

Ahora que nos sentimos cómodos con el uso del método split(), vamos a dar un paso más e introducir expresiones regulares a la mezcla:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
const paragraph = `The Answer to the Ultimate Question of Life, the Universe, and Everything is 42. Forty two. That's all there is.`;

// Split by words
const words = paragraph.split(" ");
console.log(words[2]);

// Split by sentences
const sentences = paragraph.split(/[!?.]/);
console.log(sentences[1]);

// Split all characters, with a limit of 2
const firstTwoChars = paragraph.split("", 2);
console.log(firstTwoChars);

// Split and reverse
const reverse = paragraph.split("").reverse().join("");
console.log(reverse);

Esto resulta en:

1
2
3
4
to
 Forty two
["T", "h" ]
.24 si gnihtyrevE dna ,esrevinU eht ,efiL fo noitseuQ etamitlU eht ot rewsnA ehT

En el segundo ejemplo, estamos pasando una expresión regular como argumento para el método split().

  • /[!?.]/ representa un juego de caracteres - ! o ? o .

En pocas palabras, estamos dividiendo la cadena en cualquiera de los caracteres especificados.

En el tercer ejemplo, estamos pasando 2 como segundo argumento, limitando la matriz de subcadena resultante a dos elementos.

En el último ejemplo, estamos invirtiendo la cadena usando el método integrado reverse(). Debido a que reverse() es un método de matriz, primero dividiremos la cadena original en una matriz de caracteres individuales, usando el método split(""), y luego reverse().

Finalmente, podemos unir() los resultados para crear una cadena invertida a partir de la matriz de caracteres.

Conclusión

En este tutorial, echamos un vistazo rápido a cómo dividir una cadena en JavaScript estándar. Hemos repasado el método integrado split(), así como también cómo usarlo con expresiones regulares.