入力が数字であることを try/catch を使用して検証する方法を見つけましたが、ユーザー入力がアルファベットのみであり、数字が含まれていないことを検証するにはどうすればよいですか?
14863 次
3 に答える
3
簡単な正規表現を使用できます。
if (str.matches("[a-zA-Z]+$")) {
// str consists entirely of letters
}
これは文字A-Z
とでのみ機能することに注意してくださいa-z
。Unicode を適切にサポートする必要がある場合は、文字列の文字をループしてCharacter.isLetter()
.
于 2011-10-29T15:54:34.097 に答える
2
public static boolean containsNumbers(String str){
for(char ch : str.toCharArray()){
if(Character.isDigit(ch)){
return true;
}
}
return false;
}
于 2011-10-29T15:56:40.680 に答える
1
1 つの方法は、正規表現を使用することです。
private static Pattern p = Pattern.compile("^[A-Za-z]+$");
public static boolean match(String s) {
return p.matcher(s).matches();
}
もう 1 つの方法は、文字列内のすべての文字を反復処理して、それらがアルファベット順かどうかを確認することです。
于 2011-10-29T15:54:26.133 に答える