Página 1 de 1

retirar o numero do campo endereço

Enviado: 17 Jun 2013 23:40
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

retirar o numero do campo endereço

Enviado: 18 Jun 2013 08:45
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%.

retirar o numero do campo endereço

Enviado: 18 Jun 2013 22:22
por informaisvrb
amigo, deu certinho, obrigado....