El método split()
divide un objeto de tipo String
en un arreglo (vector) de cadenas mediante la separación de la cadena en subcadenas.
Sintaxis
cadena.split([separador][,limite])
Parámetros
separador
- Especifica el carácter a usar para la separación de la cadena. El
separador
es tratado como una cadena o como una expresión regular. Si se omite elseparador
, el arreglo devuelto contendrá un sólo elemento con la cadena completa.
limite
- Opcional. Entero que especifica un límite sobre el número de divisiones a realizar. El método
split()
todavía se divide en todas las concordancias delseparador
, pero divide la matriz devuelta en la cantidad de elementos impuesta por ellimite
.
Descripción
El método split()
devuelve el nuevo arreglo.
Cuando se encuentra, el separador
es eliminado de la cadena y las subcadenas obtenidas se devuelven en un arreglo. Si el separador
no es encontrado o se omite, el arreglo contendrá un único elemento con la cadena original completa. Si el separador
es una cadena vacía la cadena es convertida en un arreglo de carácteres.
Si el separador
es una expresión regular que contiene paréntesis de captura, entonces cada vez que el separador
concuerda, los resultados (incluído cualquier resultado indefinido) de los paréntesis de captura son divididos en el arreglo resultante. Sin embargo no todos los navegadores soportan esta característica.
split()
devuelve un arreglo que contiene una cadena vacía, en lugar de un arreglo vacío.Ejemplos
Usando split()
El siguiente ejemplo define una función que divide una cadena en un arreglo de cadenas usando el separador especificado. Después de la división de la cadena, la función muestra mensajes indicando la cadena original (antes de la división), el separador usado, el número de elementos del arreglo y los elementos individuales del arreglo.
function dividirCadena(cadenaADividir,separador) { var arregloDeCadenas = cadenaADividir.split(separador); document.write('<p>La cadena original es: "' + cadenaADividir + '"'); document.write('<br>El separador es: "' + separador + '"'); document.write("<br>El arreglo tiene " + arregloDeCadenas.length + " elementos: "); for (var i=0; i < arregloDeCadenas.length; i++) { document.write(arregloDeCadenas[i] + " / "); } } var cadenaVerso = "Oh brave new world that has such people in it."; var cadenaMeses = "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"; var espacio = " "; var coma = ","; dividirCadena(cadenaVerso, espacio); dividirCadena(cadenaVerso); dividirCadena(cadenaMeses, coma);
Este ejemplo produce el siguiente resultado:
La cadena original es: "Oh brave new world that has such people in it." El separador es: " " El arreglo tiene diez elementos: Oh / brave / new / world / that / has / such / people / in / it. / La cadena original es: "Oh brave new world that has such people in it." El separador es: "undefined" El arreglo tiene 1 elementos: Oh brave new world that has such people in it. / La cadena original es: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec" El separador es: "," El arreglo tiene 12 elementos: Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov / Dec /
Eliminar espacios de una cadena
En el siguiente ejemplo, split
busca 0 o más espacios seguidos de un punto y coma seguido por 0 o más espacios y, cuando los halla, elimina los espacios de la cadena. listaNombres
es el arreglo devuelto como resultado de la llamada a split
.
var nombres = "Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand "; document.write(nombres + "<br>" + "<br>"); var expresionRegular = /\s*;\s*/; var listaNombres = nombres.split(expresionRegular); document.write(listaNombres);
Esto imprime dos líneas; la primera línea imprime la cadena original, y la segunda línea imprime el arreglo resultante.
Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand Harry Trump,Fred Barney,Helen Rigby,Bill Abel,Chris Hand
Devolviendo un número limitado de divisiones
El el siguiente ejemplo, split
busca 0 o más espacios en una cadena y devuelve las tres primeras divisiones que encuentra.
var miCadena = "Hola Mundo. Cómo estás hoy?"; var divisiones = miCadena.split(" ", 3); print(divisiones);
Este script muestra lo siguiente:
Hola,Mundo.,Cómo
Paréntesis de captura
Si el separador contiene paréntesis de capturaI los resultados que concuerden son devueltos en el arreglo.
var miCadena = 'Hola 1 mundo. Oración número 2.';
var division = miCadena.split(/(\d)/);
console.log(division);
Este script muestra lo siguiente:
Hola ,1, mundo. Oración número ,2,.
Reversar una cadena usando split()
var str = 'asdfghjkl';
var strReverse = str.split('').reverse().join(''); // 'lkjhgfdsa'
// split() retorna un arreglo en el cual reverse() y join() pueden ser aplicados
Extra: usar el operador === para verificar si la cadena anterior era un palíndrome.
Specifications
Especificación | Estado | Comentario |
---|---|---|
ECMAScript 3rd Edition. | Estándar | Definición inicial. Implementado en JavaScript 1.1. |
ECMAScript 5.1 (ECMA-262) The definition of 'String.prototype.split' in that specification. |
Standard | |
ECMAScript 6 (ECMA-262) The definition of 'String.prototype.split' in that specification. |
Release Candidate |
Compatibilidad con los navegadores
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Soporte básico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Característica | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Soporte básico | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |