Utilisation de Regex

Ouattara Idriss Messages postés 3 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 5 juin 2010 - 5 juin 2010 à 12:12
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 5 juin 2010 à 13:59
Bonjour à tous les développeurs Java. Je dois, dans un fichier texte, extraire des nombres entiers et des nombres à virgules. La structure d'une ligne du fichier en question se présente comme suit :
Waypoint 8878 User Waypoint 29 N 679284 493518 0.5 m 26 C Symbol & Name Unknown Waypoint 6/17/2009 11:25:02 AM

Je devrais, pour chaque ligne, extraire les nombres et les ranger dans un tableau. C'est à dire que les nombres extraits d'une même ligne doivent être sur la même ligne du tableau pour une exploitation ultérieure.
Exple: pour la ligne ci-dessus, je dois avoir:
8878 29 679284 493518 0.5

Merci de votre aide.

1 réponse

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
5 juin 2010 à 13:59
Tu peux utiliser cette fonction pour récupérer une liste de String qui correspond aux lignes de ton fichier

/**
 * cette fonction va lire le contenu d'un fichier
 * @param nomFichier : nom du fichier en entree
 * @return resultat : liste des lignes
 */
public static List<String> lireFichier(String nomFichier){
BufferedReader fluxEntree=null;
String ligneLue;
List<String> lignes = new ArrayList<String>();
try{
fluxEntree = new BufferedReader(new FileReader(nomFichier));
ligneLue = fluxEntree.readLine();
while(ligneLue!=null){
lignes.add(ligneLue);
ligneLue = fluxEntree.readLine();
}
}
catch(IOException exc){
exc.printStackTrace();
}
try{
fluxEntree.close();
}
catch(IOException e){
e.printStackTrace();
}
return lignes;

}


Et ensuite, tu peux utiliset StringTokenizer pour récupérer les différentes choses qui t'intéressent

for(String s : lignes){
StringTokenizer st = new StringTokenizer(s);
while(st.nextToken()){
//Et là tu récupères une à une toutes les valeurs, à toi de voire
//Ce que tu veux en faire
}
}
0
Rejoignez-nous