Есть строчка: String msg = "test";
Как можно проверить что там нету русских символов и нет пробелов?
Самое правильное - разобраться с регулярными выражениями. Но если строка небольшая, можно строку разбить на char массив и проверить каждый символ по таблице ASCII.
Вот такое решение для вас подойдет:
System.out.println("test".matches("[а-яА-ЯёЁ]+"));
System.out.println("тест".matches("[а-яА-ЯёЁ]+"));
Но имейте ввиду, что эта регулярка не примет пробелов и знаков препинаний...вы их просто можете добавить во внутрь регулярного выражения:
System.out.println("Я, Стеков Стек Стекович, буду завтракать".matches("[а-яА-ЯёЁ ,!]+"));
Функция String.matches
требует полного совпадения строки, указанному выражению, и без дополнительных условий не проверит наличие указанных символов (например: ".*[а-яА-ЯёЁ].*"
).
Но с этим справится функция Matcher.find
:
Pattern patternFindRu = Pattern.compile("[а-яА-ЯёЁ]");
System.out.println(patternFindRu.matcher("Test").find()); // false
System.out.println(patternFindRu.matcher("Вася").find()); // true
System.out.println(patternFindRu.matcher(" Вася").find()); // true
System.out.println(patternFindRu.matcher(" Вася ").find()); // true
System.out.println(patternFindRu.matcher("DQWВася12").find()); // true
Выражение [а-яА-ЯёЁ]
говорит о поиске символов в указанном диапазоне, думаю это понятно из a-я
и А-Я
, но вот ёЁ
не входит в этот диапазон, поэтому они должны быть указаны. Квадратные скобки ([]
) обозначают, что нужно искать любой набор символов в них.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Делаю реализацию игры Mastermind взял за основу алгоритм Кнута
Сделала авторизацию пользователя в javafx - приложенииУ меня есть 2 роли: ребенок и родитель
Как в scene builder сделать так, чтобы при развертывании окна любого размера равномерно растягивалась и сжималась картинка и ничего не сьезжало