Bonjour,

J'ai un fichier texte contenant des données à analyser. Celui-ci est de la forme :

Nom Telephone Prenom(optionel)
Jones 12345
Smith 45678
Martin 12345
Martin 45678 Georges
Martin 23456 Frederic

(Tous les champs sont séparés par des tabulations)

Dans mon programme, je dois retrouver le telephone de quelqu'un à partir de son nom et son prénom :
- si le couple (prenom + nom) n'est pas dans la liste, il faut recuperer le telephone correspondant au nom uniquement.

Par exemple, avec le fichier ci dessus, si je cherche le tel de (Martin Alfred) ou (Martin Nicolas), ça doit me renvoyer 12345. Par contre (Martin Georges) renverra 45678.

Le fichier de données est en memoire sous forme d'une String : String fichier
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
String personne_nom="Martin";
String personne_prenom="Georges";
 
String motif=personne_nom+"\\s([0-9]*)\\s"+"("+personne_prenom+")?";
Pattern regex=Pattern.compile(motif);
Matcher resultat=regex.matcher(fichier);
 
if (resultat.find()==true){
        String personne_telephone=resultat.group(1);
}

Et là tel qu'il est, cela me renvoie toujours le telephone du 1er Martin de la liste...et je n'arrive pas à trouver l'expression regulière qui irait bien...

Help me please