Как проверить, содержит ли строка хотя бы один алфавит в java?
Мне нужна такая проверка, что My String должен содержать хотя бы один алфавит.
Я использую следующее:
String s = "111a11";
boolean flag = s.matches("%[a-zA-Z]%");
Флаг
дает мне false
, хотя a
находится в моей строке s
Ответы
Ответ 1
Вы хотите использовать регулярное выражение [a-zA-Z]
, но вам нужно использовать метод find()
.
Эта страница позволит вам тестировать регулярные выражения для ввода.
Страница проверки регулярных выражений
и здесь у вас есть учебник Java Regular Expressions.
Учебник по регулярным выражениям Java
Ответ 2
Вы можете использовать .*[a-zA-Z]+.*
с помощью метода String.matches()
.
boolean atleastOneAlpha = s.matches(".*[a-zA-Z]+.*");