BUSCAR SOMENTE NUMEROS NUMA STRING

SAMUKAF13 04/12/2012 10:20:54
#415379
Bom Dia Amigos,

estou com um problema que é o seguinte:

Chegara ao meu sistema a seguinte string:

aplNroContrato = 1234567890|1234567890|1234567890|1234567890|1234567890|1234567890|1234567890|1234567890|1234567890|1234567890|

aplNroContrato é o nome da string que contem números de contrato. No máximo, chegarão 10 números de contrato juntos. Ou seja, pode chegar apenas um número de contrato: 12345678|
Como podem chegar 10 números de contrato (como está acima).

Todos os números serão separados pelo [Ô]|[Ô].

Devo criar um jeito de separar esses números, por exemplo:

Contrato1 = 12345
Contrato2 = 12345678
Contrato3 = 1345332

Ou seja, preciso organizar essa entrada.

Criei o seguinte:


For i = 1 To Len(Text1.Text)
aux = InStr(i, Text1.Text, [Ô]|[Ô])

Text2.Text = Mid$(Text1.Text, i, 3)
i = aux
Next

Dessa forma estou buscando os pipes e pegando a próxima posição, mas, no meu MID, ele esta buscando apenas os 3 primeiros números antes do pipe. E eu não tenho um número definido de números que o contrato vai ter.

Preciso de algo que, busque todos os números antes desse pipe.

OBS: A questão de buscar ANTES do pipe está funcionando legal! O unico problema é que não sei como buscar apenas os números.

Me ajuda ai galera.

Valeu!
JONATHANSTECKER 04/12/2012 10:24:26
#415380
SPLIT, use a função SPLIT.
KERPLUNK 04/12/2012 10:25:36
#415381
Porque não usa a função Split?

x = split(aplNroContrato, [Ô]|[Ô])

msgbox [Ô]Existem [Ô] & UBoound(x) [Ô] contatos![Ô]
for i% = LBound(x) to UBound(x)
msgbox x(i%)
next i%
Faça seu login para responder