1
resposta

USO DO SPLIT

SPLIT(SPLIT([Dados],'',2),'',1)

Boa noite, Professor não entendo o porquê utiliza dois Split, a solução não poderia ser assim:

Split([dados],'',2) ?

Grata, desde já.

1 resposta

Olá, Amanda, tudo bem?

Desculpe pela demora em obter retorno.

Para entender melhor o código proposto como solução irei destrinchar o entendimento.

SPLIT([Dados], '<idade>', 2)

Aqui, estamos utilizando o comando Split para dividir a string contida na coluna "Dados" usando a tag <idade> como delimitador. O número 2 indica que queremos obter a segunda parte da string resultante. Digamos que em dados teremos a seguinte string:

<documento><nome>João da Silva</nome><profissao>Engenheiro</profissao><idade>41</idade></documento>

Utilizando o comando teremos o resultado:

    41</idade></documento>

Para retornar a idade propriamente dita, teremos que fazer novamente o split, mas agora na string obtida anteriormente. Usamos a tag </idade> como delimitador e o número 1 para indicar que queremos obter a primeira parte da string resultante.

SPLIT(string_resultante, '</idade>', 1)

Ao utilizar novamente o split, teremos agora:

41

Se utilizássemos apenas um SPLIT, como você sugeriu, ele retornaria apenas o texto entre as tags "<nome>" e "</nome>, mas ainda incluiria o texto antes da primeira ocorrência da tag <nome> :

['<', 'd', 'o', 'c', 'u', 'm', 'e', 'n', 't', 'o', '>', '<', 'n', 'o', 'm', 'e', '>', 'J', 'o', 'ã', 'o', ' ', 'd', 'a', ' ', 'S', 'i', 'l', 'v', 'a', '<', '/', 'n', 'o', 'm', 'e', '>', '<', 'p', 'r', 'o', 'f', 'i', 's', 's', 'a', 'o', '>', 'E', 'n', 'g', 'e', 'n', 'h', 'e', 'i', 'r', 'o', '<', '/', 'p', 'r', 'o', 'f', 'i', 's', 's', 'a', 'o', '>', ' ', ' ', ' ', ' ', [..]]


Portanto, para obter o resultado desejado, é necessário utilizar dois SPLITs.

Espero ter esclarecido sua dúvida!

Se tiver mais alguma pergunta, estou à disposição.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!