Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
String.prototype.split()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
O métodosplit() divide umaString em uma lista ordenada de substrings, coloca essas substrings em um array e retorna o array. A divisão é feita procurando um padrão, onde o padrão é fornecido como o primeiro parâmetro na chamada do método.
In this article
Experimente
const str = "The quick brown fox jumps over the lazy dog.";const words = str.split(" ");console.log(words[3]);// Expected output: "fox"const chars = str.split("");console.log(chars[8]);// Expected output: "k"const strCopy = str.split();console.log(strCopy);// Expected output: Array ["The quick brown fox jumps over the lazy dog."]Sintaxe
str.split([separator[, limit]])
Parâmetros
- O caso mais simples é quando o separador é apenas um único caractere que será usado para dividir a string. Por exemplo, uma string contendo valores separados por tabulação (TSV) poderia ser analisada passando um caractere de tabulação como separador, como este: myString.split ("\ t").
- Se o
separatorcontiver vários caracteres, toda a sequência de caracteres deve ser encontrada para ser dividida. - Se o
separatorfor omitido ou não aparecer dentro dastr, o array retornará um elemento consistindo em toda a string. - Se o
separatoraparecer no início (ou no final) da string, ele ainda terá o efeito de divisão. O resultado é uma string vazia (ou seja,str.length == 0), que aparece na primeira (ou última) posição do array retornado. - Se o
separatorfor uma string vazia (""),strserá convertido em um array contendo cada um de seus caracteres em UTF-16.
separatorOpcional. Especifica o caractere, ou conjunto de caracteres, a ser usado para separar a string. O separador pode ser uma string ou umaexpressão regular.
Aviso:Quando uma string vazia ("") é usada como separador, a string não é dividida por caracteres percebidos pelo usuário (grapheme clusters) ou caracteres Unicode (pontos de código), mas por unidades de código UTF-16. Isso destróipares substitutos. Consulte "Como você transforma uma string em um array de caracteres em JavaScript?" no StackOverflow.
limiteOpcional. Um número inteiro não negativo 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.- O array pode conter menos entradas do que o
limitse o final da string for alcançado antes que o limite seja atingido. - Se o
limitfor0,[]será retornado.
- O array pode conter menos entradas do que o
Valor retornado
Um array de strings divididos em cada ponto onde o separador ocorre na string informada.
Descrição
Quando encontrado, o caractere designado como oseparator é removido da string e as substrings são retornadas em um array. Se oseparator não for encontrado ou for omitido, o array irá conter um elemento consistindo da string inteira. Se oseparator for uma string vazia,str será convertida em um array de caracteres.
Se o separador for uma expressão regular que contenha parênteses de captura, cada vez que oseparator for encontrado, os resultados (incluindo qualquer resultadoundefined) dos parênteses de captura serão emendados ao array de saída. Entretanto, nem todos os navegadores possuem suporte a isso.
Exemplos
>Usandosplit()
Quando a string está vazia, osplit() 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.
const myString = "";const splits = myString.split();console.log(splits);// retorna [""]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,Fev,Mar,Abr,Mai,Jun,Jul,Ago,Set,Out,Nov,Dez";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 dosplit().
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);O retorno do código acima são 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, osplit() 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 oseparator contém parênteses de captura, os resultados correspondentes são retornados 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", "." ]
Nota:\d corresponde à classe de caracteres para dígitos entre 0 e 9.
Revertendo uma String usandosplit()
Aviso:Esta não é a melhor maneira de reverter uma string:
const str = "asdfghjkl";const strReverse = str.split("").reverse().join("");// 'lkjhgfdsa'// split() retorna um array onde os métodos// reverse() e join() podem ser aplicadosNão funciona se a string contémgrapheme clusters, mesmo ao usar uma divisão compatível com Unicode. (Use, por exemplo,esrever no lugar.)
const str = "résumé";const strReverse = str.split(/(?:)/u).reverse().join("");// retorna "́emuśer"Bonus: use o operador=== para testar se a string original era um palíndromo.
Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-string.prototype.split> |