AJUDA COM SPLIT E RETIRAR ZEROS À ESQUERDA

PERCIFILHO 17/07/2014 15:53:36
#439614
Boa tarde, amigos, estou precisando de uma grande ajuda de vocês.

Recebo um arquivo texto onde em determinada coluna é passado a condição de pagamento de um pedido. Só que na linha do arquivo está assim:
030045060090000000
Isso é correspondente à condição de pagamento: 30 45 60 e 90 dias, os zeros depois do noventa, correspondem a mais duas condições de pagamento (que estariam em branco).
Preciso [Ô]transformar[Ô] essa linha do arquivo para gravar a condição na minha tabela.
Só que o formato que eu preciso gravar na tabela é assim: 30/45/60/90.
Então, basicamente eu teria que dividir a string, colocando as barras.
030/045/060/090/000/000
depois eu preciso retirar os zeros à esquerda, e eliminar as condições que estão [Ô]000[Ô].
Assim, a condição que eu preciso gravar na tabela ficaria assim: 30/45/60/90.

Alguém pode me ajudar com isso?

Até mais.


FFCOUTO 17/07/2014 16:51:15
#439620
Dim i As Integer, j As Integer
Dim condicao As string
Dim prazo As String
Dim prazos() As String

condicao = [Ô]030045060090000000[Ô]
j = 1

For i = 1 To Len(Condicao) Step 3
prazo = CInt(Mid(condicao, i, 3)
If CInt(prazo) <> 0 Then
Redim Preserve prazos(1 to j)
prazos(j) = prazo
j = j + 1
End If
Next

resultado = Join(prazos, [Ô]/[Ô])


JABA 17/07/2014 17:48:16
#439625
Resposta escolhida
        

Public Function ConverterParaDias(sequencia As String) As String
Dim r As String = [Ô] [Ô]
For i As Integer = 0 To sequencia.Length - 1 Step 3
If CInt(sequencia.Substring(i, 3)) <> 0 Then r = r & CInt(sequencia.Substring(i, 3)) & [Ô]/[Ô]
Next
Return r.Remove(r.Length - 1)
End Function

MsgBox(ConverterParaDias([Ô]030045060090000000[Ô]))


Tópico encerrado , respostas não são mais permitidas