extraction des données- foreach
Bonjour,
Je veux extraire les noms de ville, mais dans les données, on trouve aussi les noms d'université portant les noms de ville, par ex "University of New York" ou "National Laboratory New York", donc dans ce cas-là, je veux que le programme n'extrait pas ce nom de ville qui suit le mot "University" ou "Laboratory".
voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
if ($ligne=~/(at|) ($ville)(( \d+)|( \-)|(,? [A-Z]{2})|(,?$)|( \/)|(, [A-Za-z]+)|( \())/i)
{ $iscity = TRUE;
@mots = split (/ /, $ligne);
if ($iscity == TRUE)
{ foreach $mot (@mots)
{ if (($mot eq "National")||($mot eq "of")||($mot eq "de")||($mot eq "University"))
{$iscity = FALSE;
}
}
print "<VILLE>$2</VILLE>\n";
print SORTIE "<VILLE>$2</VILLE>\n";
}
#print "<VILLE>$2</VILLE>\n";
#print SORTIE "<VILLE>$2</VILLE>\n";
} |
Ce programme parcourt une liste de noms de ville dans un fichier puis le répertoire des données. Les résultats de sortie, le programme imprime tjs le premier ville qui a trouvé dans les données, il fait un boucle.
Pourriez-vous m'aider comment je peux extraire les vrais noms de ville, mais pas les noms d'université qui portent aussi le nom de ville.
Merci beaucoup