Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

notax

Divisão de uma string

Recommended Posts

Galera, recebo uma string da seguinte forma:

 

string_recebida=5@@@dado1_1#dado1_2#dado1_3#dado1_4@@@dado2_1#dado2_2#dado2_3#dado2_4@@@dado3_1#dado3_2#dado3_3#dado3_4@@@dado4_1#dado4_2#dado4_3#dado4_4@@@dado5_1#dado5_2#dado5_3#dado5_4

 

Ou seja, a primeira parte, "5@@@", especifica quantos conjuntos virão nessa string...

 

O que acontece, preciso inserir cada conjunto em uma linha do bd, ou seja, no caso acima seria assim:

primeira linha do BD: dado1_1#dado1_2#dado1_3#dado1_4

segunda linha do BD: dado2_1#dado2_2#dado2_3#dado2_4 e por aí vai...

 

Bom, eu sei como fazer o loop e sei como dividir os dados que vem separados por # colocando um em cada respectivo campo...

 

O que eu não sei? Eu não sei separar as linhas?

 

Tipo... o loop seria

n = mid(string_recebida,1,1) '=5
For i = 1 to n
'aqui teria que ter uma rotina para dividir isso em linhas... pensei em usar split...
'ex.:
string_recebida = replace(string_recebida, n, "")
string_recebida = replace(string_recebida, "@@@", "<br>")
'aqui é que está o problema... como faço só para pegar a linha 1 depois a 2 e assim por diante....
'depois faria
arrayLinha=split(string_recebida,"#",-1,1)

'e pronto basta inserir no bd assim:
SQL = "INSERT INTO tabela (campo1, campo2, campo3, campo4) VALUES ('"&arrayLinha(0)&"','"&arrayLinha(1)&"', '"&arrayLinha(2)&"', '"&arrayLinha(3)&"')"

 

Alguém da uma luz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça uma pesquisa no lab. de script, que existe um post, com várias funções para manipular string, vai te ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

e com um split aos @@@ não resolve?

 


minha_array = split(string_recebida,"@@@")

for c = lbound(minha_array)  to ubound(minha_array)

response.write minha_array(c)

next

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo, você consegue tirar qualquer caracter, podendo até implementá-lo em um array

 

Function Replace_Bad_Words(Data As String) As String


   If Data = "" Then Exit Function
   '-------------------------------------

   'Dirt Words----------------------
   Bad_Word = Array("ass", "bitch", "biatch", "blowjob", "bukkake", "bullshit", "cunt", "cum", "dicked", "dickhead" _
            & "dickweed", "dildo", "fuck", "gangbang", "goddamnit", "handjob", "jackoff", "motherfucker", "motherfucking" _
            & "pissed", "pisses", "---o", "pussy", "pussified", "shit", "titties", "twat")
   '--------------------------------

   'Replace Bad Words-----------------
   For Bad = 0 To UBound(Bad_Word)
   Data = Replace(Data, Bad_Word(Bad), String(Len(Bad_Word(Bad)), "*"), , , vbTextCompare)
   Next Bad
   '----------------------------------


   Replace_Bad_Words = Data
   '--------------------------

End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.