[Cascavel-pm] Separando campos
Veronica Soraia
veronica.soara em gmail.com
Segunda Março 19 07:39:27 PDT 2007
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);
}
Mais detalhes sobre a lista de discussão Cascavel-pm