Função SPLIT – ASP

Olá, nesse meu primeiro post realmente útil(rsrs) falarei um pouco sobre a função ´Split´. Ela existe em diversas linguagens, porém darei aqui, o exemplo em ASP.
O Split é usado quando precisamos transformar uma string em um array de strings através de um delimitador em comum.

Sintaxe: Split([string],[delimitador])

Complicado?? Veja o exemplo:

ex.:
Dim texto, arrayTexto, i
texto = "meu,teste,deu,certo"
arrayTexto = Split(texto,",")
For i = 0 to Ubound(arrayTexto)
Response.Write(arrayTexto(i) & "<br />")
Next

Eu sei, você não entendeu nada, certo? Vou ´traduzir´ o código acima:

Na primeira linha criei na memória as 3 variáveis: texto, arrayTexto e i.
Na segunda linha eu atribuo a string “meu,teste,deu,certo” à variável ´texto´. Observe que cada palavra está separada por uma vírgula, ela será o nosso ´delimitador´ na hora de aplicar a função Split.
Agora na terceira e mais importante linha é que está a ´mágica´ rsrs eu atribuo à variável arrayTexto o resultado da função Split, que é um array onde cada posição corresponde a um intervalo entre cada vírgula na nossa string inicial.
E o resultado será este:

arrayTexto(0) = "meu"
arrayTexto(1) = "teste"
arrayTexto(2) = "deu"
arrayTexto(3) = "certo"

Para exibi-lo na tela eu uso o laço FOR, iniciando em 0 (todo array em asp inicia na posição zero), e percorro o array até sua última posição, que eu obtenho através da função Ubound (explicarei mais sobre essa função neste post aqui).

Response.Write(arrayTexto(i) & "<br />")

Em cada iteração do loop eu executo o comando para imprimir na tela o valor correspondente à posição corrente do array no loop.

Obs.: Uma das aplicações práticas para a função Split é no tratamento de campos de um formulários que possuem um mesmo nome (propositalmente), pois retornam uma sequência dos valores numa string, separados por vírgulas (no caso do ASP).

Obs 2.: Podem ser usados quaisquer outros caracteres como delimitadores, desde que não prejudiquem a leitura dos valores do array.

Bom, é isso aí pessoal, um excelente final de semana a todos.
E até o próximo post

Deixe uma resposta