Bonjour,
Je débute tout juste avec le JAVA, et je bloque sur une expression régulière.
Je souhaite vérifier la présence d'un point "." dans une chaine de caractère.
J'ai trouvé plusieurs solutions, qui sont sensé être identiques, pourtant, une seule fonctionne... et je ne comprends pas du tout pourquoi.
Voici les différentes possibilités que j'ai testé :
Pourtant, d'après les doc suivante ça devrait être bon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 String affichage = new String("55.78"); Boolean boolMatch = affichage.matches("(\\.)"); // KO Boolean boolMatch = Pattern.matches("\\.", affichage); // KO Pattern p = Pattern.compile("\\."); Matcher m = p.matcher(affichage); Boolean boolMatch = m.find(); // OK Boolean boolMatch = Pattern.compile("\\.").matcher(affichage).matches(); // KO // Si la saisie contient deja un point -> Ne rien faire if ( !boolMatch ) { //MON CODE }
http://docs.oracle.com/javase/7/docs...lang.String%29
http://docs.oracle.com/javase/7/docs...harSequence%29
Au départ, je ne connaissais pas l'existence des classes Pattern ou Matcher, j'avais donc d'abord essayé avec la classe String.
Merci d'avance de m'éclairer sur les différents comportements rencontrés et éventuellement, corriger mes cas KO.
Partager