MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

String.prototype.split()

O método split() divide um objeto String em um array de strings ao separar a string em substrings.

Sintaxe

str.split([separador[, limite]])

Parâmetros

separador
Opcional. Especifica o(s) caracter(es) a serem usados para separar a string. O separador é tratado como uma string ou uma expressão regular. Se o separador é omitido ou não ocorre na string, o array retornado irá conter um elemento consistindo da string inteira. Se o separador for uma string vazia, str será convertido em um array de caracteres.
limite

Opcional. Integer especificando um limite no número de divisões a serem encontradas. O método split() ainda dividirá em cada ocorrência do separador, até que o número de itens divididos corresponda ao limite ou que a string fique aquém do separador.

Valor de Retorno

Um array de strings dividido em cada ponto onde o separador ocorre na string informada.

Descrição

Quando encontrado, o separador é removido da string e as substrings são retornadas em um array. Se o separador não for encontrado ou for omitido, o array irá conter um elemento consistindo da string inteira. Se o separador é uma string vazia, str será convertido em um array de caracteres.

Se o separador é uma expressão regular que contenha parenteses de captura, cada vez que o separador for encontrado, os resultados (incluindo qualquer resultado undefined) dos parenteses de captura serão emendados ao array de saída. Entretanto, nem todos os navegadores possuem suporte a isso.

Note: Quando a string está vazia, o split() irá retornar um array contendo uma string vazia ao invés de um array vazio. Se a string e o separador forem ambos strings vazias, um array vazio será retornado.

Exemplos

Usando split()

O exemplo a seguir define uma função que divide uma string em um array de strings usando o separador especificado. Depois de dividir a string, a função exibe mensagens indicando a string original (antes da divisão), o separador usado, o número de elementos no array e os elementos individuais do array.

function splitString(stringToSplit, separator) {
  var arrayOfStrings = stringToSplit.split(separator);

  console.log('A string original é: "' + stringToSplit + '"');
  console.log('O separador é: "' + separator + '"');
  console.log('O array tem ' + arrayOfStrings.length + ' elementos: ' + arrayOfStrings.join(' / '));
}

var tempestString = 'Oh brave new world that has such people in it.';
var monthString = 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec';

var space = ' ';
var comma = ',';

splitString(tempestString, space);
splitString(tempestString);
splitString(monthString, comma);

Esse exemplo produz a saída a seguir:

A string original é: "Oh brave new world that has such people in it."
O separador é: " "
O array possui 10 elementos: Oh / brave / new / world / that / has / such / people / in / it.

A string original é: "Oh brave new world that has such people in it."
O separador é: "undefined"
O array possui 1 elementos: Oh brave new world that has such people in it.

A string original é: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"
O separador é: ","
O array possui 12 elementos: Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov / Dec

Removendo espaços de uma string

No exemplo a seguir, split() procura por 0 ou mais espaços seguidos por um ponto e vírgula seguido por 0 ou mais espaços e, quando encontrar, remove os espaços e os pontos e vírgulas da string.  nameList é o array retornado como resultado do split().

var names = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ';

console.log(names);

var re = /\s*;\s*/;
var nameList = names.split(re);

console.log(nameList);

Isso registra duas linhas; A primeira linha registra a string original e a segunda linha registra o array resultante.

Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand
[ "Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand " ]

Retornando um número limitado de divisões

No exemplo a seguir, o split() procura por 0 ou mais espaços em uma string e retorna as 3 primeiras divisões que encontrar.

var myString = 'Hello World. How are you doing?';
var splits = myString.split(' ', 3);

console.log(splits);

O script exibirá o texto a seguir:

["Hello", "World.", "How"]

Parênteses de Captura

Se o separador contém parênteses de captura, os resultados correspondentes são retornador no array.

var myString = 'Hello 1 word. Sentence number 2.';
var splits = myString.split(/(\d)/);

console.log(splits);

O script exibirá o texto a seguir:

[ "Hello ", "1", " word. Sentence number ", "2", "." ]

Revertendo uma String usando split()

var str = 'asdfghjkl';
var strReverse = str.split('').reverse().join(''); // 'lkjhgfdsa'
// split() returns an array on which reverse() and join() can be applied

Bonus: use o operador === para testar se a string original era palindrome.

Especificações

Especificação Status Comentário
ECMAScript 3rd Edition (ECMA-262) Standard Definição inicial. Implementado no JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
The definition of 'String.prototype.split' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.split' in that specification.
Standard  
ECMAScript 2017 Draft (ECMA-262)
The definition of 'String.prototype.split' in that specification.
Draft  

Compatibilidade com Browsers

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte Básico (Yes) (Yes) (Yes) (Yes) (Yes)
Característica Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte Básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

 

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: NicholasBraga
 Última atualização por: NicholasBraga,