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
Moderador: Moderadores
-
informaisvrb
- Usuário Nível 1

- Mensagens: 10
- Registrado em: 09 Jun 2013 15:00
- Localização: VISCONDE DO RIO BRANCO
- Pablo César
- 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
Veja se isto resolve:
Veja que você vai ter que fazer algumas exceções de alguns caracteres, talvez nem todos saiam 100%.
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}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.
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

- Mensagens: 10
- Registrado em: 09 Jun 2013 15:00
- Localização: VISCONDE DO RIO BRANCO