Есть строчка: 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-я и А-Я, но вот ёЁ не входит в этот диапазон, поэтому они должны быть указаны. Квадратные скобки ([]) обозначают, что нужно искать любой набор символов в них.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости