Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
O método Split separa uma string utilizando como critério um delimitador fornecido pelo usuário:
Sintaxe:
string.split('delimitador',[limite]);
Onde string é a string a ser dividida, delimitador é o caractere utilizado como critério para divisão e limite o máximo de divisões. Como pode-se notar, limite é opcional, assim sendo, podemos omiti-lo:
string.split('delimitador');
O valor retornado é um array. Por exemplo, se quisermos dividir uma string, e guardar em uma variável do tipo array, fazemos da seguinte forma:
frutas = "Maçã|Uva|Amora";
novoArray = frutas.split('|');
alert(novoArray[0]); // retornará "Maçã"
alert(novoArray[1]); // retornará "Uva"
alert(novoArray[2]); // retornará "Amora"
alert(novoArray[3]); // retornará "undefined"
O último alert, alert(novoArray[3]);, retorna undefined pois excedeu o número de elementos retornados, já que a variável fruta era composta por 3 elementos.
O exemplo abaixo demonstra como utilizar o método split fornecendo o argumento limite:
- limite deve ser um número inteiro positivo;
- Frações serão ignoradas (arredondadas para baixo), por exemplo novoArray = frutas.split('|',5.7); será avaliado como novoArray = frutas.split('|',5);
- Se o valor de limite for 0, não haverá a divisão.
- Se for negativo, como novoArray = frutas.split('|',-5);, será ignorado e avaliado como novoArray = frutas.split('|');.
frutas = "Maçã|Uva|Amora|Pêssego|Ameixa|Acerola|Laranja|Morango";
novoArray = frutas.split('|',5);
alert(novoArray[0]); // retornará "Maçã"
alert(novoArray[1]); // retornará "Uva"
alert(novoArray[2]); // retornará "Amora"
alert(novoArray[3]); // retornará "Pêssego"
alert(novoArray[4]); // retornará "Ameixa"
alert(novoArray[5]); // retornará "undefined"
alert(novoArray[6]); // retornará "undefined"
alert(novoArray[7]); // retornará "undefined"
Os primeiros 5 alertas exibem os valores correspondentes às frutas, na mesma ordem da variável frutas. Os 3 últimos alertas exibem undefined, pois o array foi finalizado na 5ª posição.
O método split também pode ser usado para separar caracteres de uma palavra, basta não informar o delimitador:
variavel = "internacional";
caractere = variavel.split('');
alert(caractere[0]); // retornará "i"
alert(caracterel[1]); // retornará "n"
alert(caractere[2]); // retornará "t"
alert(caractere[3]); // retornará "e"
Aplicação Prática:
Divisão de um email para ter em outra variável apenas o nome de usuário ou o provedor do email:
email = "fulano@msn.com";
separa = email.split('@');
alert(separa[0]); // retornará "fulano"
alert(separa[1]); // retornará "msn.com"Veja se resolve. Como essa sequência de números deve ser aleatória, você vai ter que fazer algumas adaptações. Caso seja sempre uma quantia fixa de repetição dos números (nesse exemplo existem 6 sequências de números diferentes), da forma atual resolve.
<script>
window.onload = function() {
str = "0,0,0,0,0;1,1,1,1,1;2,2,2,2,2;3,3,3,3,3;4,4,4,4,4;5,5,5,5,5";
var arrayPrincipal = str.split(';');
var content = '';
var array = new Array(new Array(4), new Array(4), new Array(4), new Array(4), new Array(4), new Array(4));
for (i = 0; i < arrayPrincipal.length; i++) {
subArray = arrayPrincipal[i].split(',');
for (t = 0; t < subArray.length; t++) {
array[t][i] = subArray[t];
content += 'array['+t+']['+i+'] = '+array[t][i]+'\n';
}
}
alert(content);
}
/*
Saída do script
array[0][0] = 0
array[1][0] = 0
array[2][0] = 0
array[3][0] = 0
array[4][0] = 0
array[0][1] = 1
array[1][1] = 1
array[2][1] = 1
array[3][1] = 1
array[4][1] = 1
*/
</script>
Abraços.Muito bom.... Obrigado cara....
Não preciso de muita adaptações não.... Você entendeu perfeitamente oq eu queria fazer
Eu realmente não tava visualizando na hora de fazer essa parte
arrayProd[t][i] = arraySecundaria[t];
Muito obrigado....
beleza, precisa posta aí.
Pessoal, vocês postaram bastante coisa boa, mas prescisamos falar tambem de REGEXP.
Exemplo bom é o (OR)=| funciona assim:
{ele pode dividir a string por a ou b(minusculas)}
var t = "TEXTOaTEXTObTEXTO".split(/(a|b)/);
alert(t);
Nesse exemplo podem ser maiusculas ou minusculas pois usa-se o "I"
var t = "TEXTOaTEXTObTEXTOAtextoBtexto".split(/(a|b)/gi);
alert(t);
E se eu tiver uma string da seguinte forma
string = 0,0,0,0,0;1,1,1,1,1;2,2,2,2,2
e quiser dividir da seguinte forma
array[0][0] = 0
array[1][0] = 0
array[2][0] = 0
array[3][0] = 0
array[4][0] = 0
array[0][1] = 1
array[1][1] = 1
array[2][1] = 1
array[3][1] = 1
array[4][1] = 1
...