L'idée est de faire lire une chaîne et de vérifier qu'elle ne contient aucun caractère numérique. Donc quelque chose comme "smith23" ne serait pas acceptable.
Réponses
Trop de publicités?
adarshr
Points
25912
Que veux-tu? Rapidité ou simplicité ? Pour la vitesse, optez pour une approche basée sur une boucle. Pour plus de simplicité, optez pour une approche basée sur RegEx à une ligne.
La vitesse
public boolean isAlpha(String name) {
char[] chars = name.toCharArray();
for (char c : chars) {
if(!Character.isLetter(c)) {
return false;
}
}
return true;
}
Simplicité
public boolean isAlpha(String name) {
return name.matches("[a-zA-Z]+");
}
Shemhamforasch
Points
153
Robby Pond
Points
37875
Ou si vous utilisez Apache Commons, [StringUtils.isAlpha()] .
shalamus
Points
467
Premier modèle d'importation :
import java.util.regex.Pattern;
Ensuite, utilisez ce code simple :
String s = "smith23";
if (Pattern.matches("[a-zA-Z]+",s)) {
// Do something
System.out.println("Yes, string contains letters only");
}else{
System.out.println("Nope, Other characters detected");
}
Cela affichera :
Non, autres caractères détectés
iyas
Points
61