¿Cómo funciona el método split() en JavaScript?
Respuesta corta: split() divide un string en partes y las devuelve en un array, sin modificar el string original. Le pasas el separador, que puede ser un texto o una expresión regular, y, si quieres, un límite de elementos:
const frase = "Aprende JavaScript con 4Geeks";
const palabras = frase.split(" ");
console.log(palabras); // [ 'Aprende', 'JavaScript', 'con', '4Geeks' ]Con split(",") separas por comas, con split("") obtienes cada carácter y con split(/\s+/) divides por cualquier cantidad de espacios.
El separador decide dónde se corta el texto. Si hay espacios repetidos, límpialos con trim() y una expresión regular para no recibir elementos vacíos.
Sintaxis de split()
texto.split(separador, limite);| Parámetro | Qué es | ¿Obligatorio? |
|---|---|---|
separador | El texto o la expresión regular donde se corta el string | No |
limite | El número máximo de elementos que tendrá el array | No |
Qué devuelve split() según el separador
| Código | Resultado |
|---|---|
"a,b,c".split(",") | [ 'a', 'b', 'c' ] |
"hola".split("") | [ 'h', 'o', 'l', 'a' ] |
"hola".split() | [ 'hola' ] |
"a,b,c".split(",", 2) | [ 'a', 'b' ] |
"a,,b".split(",") | [ 'a', '', 'b' ] |
"".split(",") | [ '' ] |
Sin separador, split() devuelve un array con el string completo. Si el texto empieza, termina o tiene dos separadores seguidos, aparecen elementos vacíos ''.
Ejemplos de split() en JavaScript
Separar los datos de una línea
const linea = "Ana,30,Madrid";
const [nombre, edad, ciudad] = linea.split(",");
console.log(nombre, edad, ciudad); // Ana 30 MadridCon la desestructuración guardas cada parte en su propia variable.
Quitar los espacios de cada parte
const lenguajes = "JavaScript, Python, Java";
console.log(lenguajes.split(","));
// [ 'JavaScript', ' Python', ' Java' ]
console.log(lenguajes.split(",").map((s) => s.trim()));
// [ 'JavaScript', 'Python', 'Java' ]Convertir un texto en números
const numeros = "10,20,30".split(",").map(Number);
console.log(numeros); // [ 10, 20, 30 ]split() siempre devuelve strings. map(Number) los convierte en números para poder sumarlos o compararlos.
Contar las palabras de un texto
const texto = " Aprende a programar ";
const palabras = texto.trim().split(/\s+/);
console.log(palabras.length); // 3trim() quita los espacios del principio y del final, y /\s+/ corta por uno o más espacios seguidos.
Dividir un texto en líneas
const lineas = "uno\r\ndos\ntres".split(/\r?\n/);
console.log(lineas); // [ 'uno', 'dos', 'tres' ]La expresión /\r?\n/ funciona con los saltos de línea de Windows y de macOS o Linux.
Usar varios separadores a la vez
const fechas = "2026-11-09/2026-12-31".split(/[-/]/);
console.log(fechas); // [ '2026', '11', '09', '2026', '12', '31' ]Obtener las partes de una URL
const url = "https://4geeks.com/es/how-to/split-string-javascript";
const partes = new URL(url).pathname.split("/").filter(Boolean);
console.log(partes); // [ 'es', 'how-to', 'split-string-javascript' ]filter(Boolean) elimina los elementos vacíos que deja la barra inicial.
Invertir un string
const invertido = "hola".split("").reverse().join("");
console.log(invertido); // aloh