3 ответов:
Использование Apache Commons Lang:
!StringUtils.isAlphanumeric(String)альтернативно повторите символы строки и проверьте с помощью:
!Character.isLetterOrDigit(char)у вас еще одна проблема осталась: Ваш пример строки "abcdefà" является буквенно-цифровым, так как
à- это письмо. Но я думаю, что вы хотите, чтобы это считалось не буквенно-цифровым, верно?!так что вы можете использовать регулярное выражение:
String s = "abcdefà"; Pattern p = Pattern.compile("[^a-zA-Z0-9]"); boolean hasSpecialChar = p.matcher(s).find();
один из способов-сделать это с помощью самого класса String. Предположим, что ваша строка что-то вроде этого:
String s = "some text"; boolean hasNonAlpha = s.matches("^.*[^a-zA-Z0-9 ].*$");еще один-использовать внешнюю библиотеку, такую как Apache commons:
String s = "some text"; boolean hasNonAlpha = !StringUtils.isAlphanumeric(s);
вы должны пройти через каждый символ в строке и проверить
Character.isDigit(char);илиCharacter.isletter(char);кроме того, вы можете использовать regex.
Comments