[Cascavel-pm] Separando campos
Gabriel Vieira
gabriel.vieira em gmail.com
Segunda Março 19 08:01:48 PDT 2007
---------------------------------->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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20070319/c64a9488/attachment-0001.html
Mais detalhes sobre a lista de discussão Cascavel-pm