[Cascavel-pm] Separando campos

Gabriel Vieira gabriel.vieira em gmail.com
Segunda Março 19 08:03:45 PDT 2007


Correção: no 2o o nome da rua aparece apenas "29 Junho".

On 3/19/07, Gabriel Vieira <gabriel.vieira em gmail.com> wrote:
>
> ---------------------------------->8----------------------------------
> $endereco = "R MARGARIDAS 13 QD8 C 13";
> $endereco = "AV 29 JUNHO 00602";
> print "Tipo: $1\nRua: $2\nNúmero: $4\nComplemento: $6" if $endereco =~
> /^(\w+)\s+((\s|\w)+?)\s+(\d+)(\s+((\s|\w)+))?$/;
>
> # Tipo: R
> # Rua: MARGARIDAS
> # Número: 13
> # Complemento: QD8 C 13
>
> # e
>
> # Tipo: AV
> # Rua: AV 29 JUNHO
> # Número: 00602
> # Complemento:
> ----------------------------------8<----------------------------------
>
> Funcionou blz aqui :)
>
> On 3/19/07, Veronica Soraia <veronica.soara em gmail.com> wrote:
> >
> > olá tenho um problema , não estou conseguindo resolver (sou iniciante
> > rsrsr), é o seguinte, tenho um arquivo q vem com o endereço junto com
> > essas duas opções : AV 29 JUNHO 00602, e , R MARGARIDAS 13 QD8 C 13.
> > Tenho que separar esses  registros em campos como Endereço,numero,
> > complemento com o algoritmo q fiz no segundo registro ele pega normal:
> > Endereço : R MARGARIDAS , numero:13, complemento: C 13 . Mas no
> > primeiro registro ele pega o "29" tratando como numero e o "JUNHO
> > 00602" tratando como complemento , ou seja ele só pega o AV como
> > endereço,o correto seria Endereço:AV 29 junho e numero :00602.Para
> > todos os casos com numero após um logradouro ele não filtra certo.
> >
> > Alguem pode me ajudar ! :-) o algoritmo q fiz é esse :
> >
> > {
> >         @locendtemp     =       split(/\s/,$_);
> >
> >         $n      =       0;
> >
> >         foreach $campo(@locendtemp)
> >         {
> >                 $campo  =       strtrim($campo);
> >
> >                 if($n == 0)
> >                 {
> >                         $locend =       $campo."  ";        #pega
> > endereço
> >                 }
> >                 elsif (($campo !~ /\d/) and (not $locnum))
> >                 {
> >                         $locend .=      $campo." ";         #endereço
> >                 }
> >                 elsif (($campo =~ /\d/) and (not $locnum))
> >                 {
> >                         $locnum =       $campo;     #numero
> >                 }
> >                 elsif (($campo !~ /\d/) and ($locnum))
> >                 {
> >                         $loccpo .=      $campo."  ";       #complemento
> >                 }
> >                 elsif (($campo =~ /\d/) and ($locnum))
> >                 {
> >                         $loccpo .=      $campo."  ";       #complemento
> >                 }
> >
> >                 ++$n;
> >         }
> >
> >         return ($locend,$locnum,$loccpo);
> > }
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
>
>
>
> --
> Gabriel Vieira




-- 
Gabriel Vieira
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070319/bad51c68/attachment.html 


Mais detalhes sobre a lista de discussão Cascavel-pm