Bonjour,
je souhaite traîter une chaine de caractères afin d'en récupérer une partie si elle est conforme à mon protocole.
J'ai trouvé 2 façons de faire et je me demande laquelle est la plus optimale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
String str = "abcsd: 12 efgh"
le but est de retourner le nombre 12.
Méthode 1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
if(Pattern.matches("^abcsd: \\d+ efgh$", str)){
			String[] tab = str.split(" ");
			System.out.println(tab[1]);
		}
Méthode 2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Pattern p = Pattern.compile("^abcsd: (\\d+) efgh$");
Matcher m = p.matcher(str);
if(m.matches()){
		System.out.println(m.group(2));
		}
Si une autre méthode existe, je suis aussi preneur...