From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../global_objects/string/split/index.html | 282 +++++++++++++++++++++ 1 file changed, 282 insertions(+) create mode 100644 files/pt-br/web/javascript/reference/global_objects/string/split/index.html (limited to 'files/pt-br/web/javascript/reference/global_objects/string/split') diff --git a/files/pt-br/web/javascript/reference/global_objects/string/split/index.html b/files/pt-br/web/javascript/reference/global_objects/string/split/index.html new file mode 100644 index 0000000000..80b42f28e0 --- /dev/null +++ b/files/pt-br/web/javascript/reference/global_objects/string/split/index.html @@ -0,0 +1,282 @@ +--- +title: String.prototype.split() +slug: Web/JavaScript/Reference/Global_Objects/String/split +tags: + - Expressões Regulares + - JavaScript + - Prototipo + - Referencia + - String + - metodo + - split() +translation_of: Web/JavaScript/Reference/Global_Objects/String/split +--- +
{{JSRef}}
+ +

O método split() divide uma {{jsxref ("String")}} 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.

+ +

Sintaxe

+ +
str.split([separator[, limit]])
+ +

Parâmetros

+ + + +
+
separator
+
Opcional. Especifica o caractere, ou conjunto de caracteres, a ser usado para separar a string. O separador pode ser uma string ou uma {{jsxref("Global_Objects/RegExp", "expressão regular", "", 1)}}.
+
+ +
+

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ói pares substitutos. Consulte “Como você transforma uma string em um array de caracteres em JavaScript?” no StackOverflow.

+
+ +
+
limite
+
+

Opcional. 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 limit se o final da string for alcançado antes que o limite seja atingido.
  • +
  • Se o limit for 0, [] será retornado.
  • +
+
+
+ +

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 o separator é removido da string e as substrings são retornadas em um array. Se o separator não for encontrado ou for omitido, o array irá conter um elemento consistindo da string inteira. Se o separator 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 o separator for encontrado, os resultados (incluindo qualquer resultado undefined) dos parênteses de captura serão emendados ao array de saída. Entretanto, nem todos os navegadores possuem suporte a isso.

+ +

Exemplos

+ +

Usando split()

+ +

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.

+ +
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 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);
+
+ +

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, 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 separator 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 usando split()

+ +
+

Esta não é a mlehor 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 aplicados
+ +

Não funciona se a string contém grapheme 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 {{jsxref("Operators/Comparison_Operators", "===", "#Identity_strict_equality_(===)")}} para testar se a string original era um palíndromo.

+
+ + + +

Especificações

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificaçãoStatusComentário
{{SpecName('ES3')}}{{Spec2('ES3')}}Definição inicial. Implementado no JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.5.4.14', 'String.prototype.split')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-string.prototype.split', 'String.prototype.split')}}{{Spec2('ES6')}}
{{SpecName('ESDraft', '#sec-string.prototype.split', 'String.prototype.split')}}{{Spec2('ESDraft')}}
+ + + +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suporte Básico{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suporte Básico{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

+ +

Veja também

+ + -- cgit v1.2.3-54-g00ecf