retirar o numero do campo endereço

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

informaisvrb
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 09 Jun 2013 15:00
Localização: VISCONDE DO RIO BRANCO

retirar o numero do campo endereço

Mensagem por informaisvrb »

amigos estou importando os dados de um sistema, porem o sistema antigo o campo numero esta junto com o endereço

exemplo

RUA GOV.BENEDITO VALADARES,167
RUA GOV.BENEDITO VALADARES-123A
RUA GOV.BENEDITO VALADARES 16327
nem sempre é separado por virgula, nao tem um padrão, mas sempre esta no final do campo

queria saber dos amigos se algum tem alguma funcao que pega o numero e outra que pegue só o endereço em uma variavel

tipo
t_end := RUA GOV.BENEDITO VALADARES
t_num := 167
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

retirar o numero do campo endereço

Mensagem por Pablo César »

Veja se isto resolve:

Código: Selecionar todos

aEnd:={"RUA GOV.BENEDITO VALADARES,167",;
       "RUA GOV.BENEDITO VALADARES-123A",;
       "RUA GOV.BENEDITO VALADARES 16327"}
For i=1 to Len(aEnd)
    aEndereco:=ExtraiNum(aEnd[i])
    ? "Endere‡o: "+aEndereco[1]
    ? "Nº "+aEndereco[2]
Next

Function ExtraiNum(cEnd)
Local cRua:="", cNum:=""
Local nTam:=Len(cEnd), i, cSubStr

For i=1 to nTam
    cSubStr:=SubStr(cEnd,i,1)
    If IsAlpha(cSubStr)
       cRua:=cRua+cSubStr
    Else
       If cSubStr==" " .or. cSubStr=="."
          cRua:=cRua+cSubStr
       Else
          cNum:=SubStr(cEnd,i)
          Exit
       Endif
    Endif
Next
cRua:=AllTrim(cRua)
cNum:=AllTrim(CharRem(",.-/",cNum))
Return {cRua,cNum}
Veja que você vai ter que fazer algumas exceções de alguns caracteres, talvez nem todos saiam 100%.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
informaisvrb
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 09 Jun 2013 15:00
Localização: VISCONDE DO RIO BRANCO

retirar o numero do campo endereço

Mensagem por informaisvrb »

amigo, deu certinho, obrigado....
Responder