Bonjour a tous,
une petite question me turlupine. Existe-t-il une méthode en java permettant de savoir si un string et en majuscule ou en minuscule.
merci d'avance.
Version imprimable
Bonjour a tous,
une petite question me turlupine. Existe-t-il une méthode en java permettant de savoir si un string et en majuscule ou en minuscule.
merci d'avance.
Bonjour, ça n'existe pas mais tu peux toi-même faire une fonction assez simple :
Code:
1
2
3
4
5
6
7
8
9
10
11 public static boolean estEnMajuscule(String s){ return s.equals(s.toUpperCase()); } public static boolean estEnMinuscule(String s){ return s.equals(s.toLowerCase()); } public static void main(String[] args) { System.out.println(estEnMajuscule("TEST")); --> VRAI System.out.println(estEnMajuscule("Test")); --> FAUX System.out.println(estEnMajuscule("test")); --> FAUX }
c'est nickel merci bien
Salut,
En fait il y a même plusieurs autres solutions :
- Avec les regexps, en sachant que \p{Lu} représente les lettres majuscules et \p{Ll} les lettres minuscules :
Code:
1
2
3
4
5
6 public static boolean isUpperCase(String s){ return s.matches("[^\\p{Ll}]*"); // Tout sauf les minuscules } public static boolean isLowerCase(String s){ return s.matches("[^\\p{Lu}]*"); // Tout sauf les majuscules }
- Ou encore en vérifiant chaque caractère dans une boucle :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public static boolean isUpperCase(String s){ for (int i=s.length()-1; i>=0; i--) { if (Character.isLowerCase(s.charAt(i))) { // On arrête dès qu'on trouve un caractère en minuscule return false; } } return true; } public static boolean isLowerCase(String s){ for (int i=s.length()-1; i>=0; i--) { if (Character.isUpperCase(s.charAt(i))) { // On arrête dès qu'on trouve un caractère en majuscule return false; } } return true; }
a++