Как проверить содержимое строчки

183
04 сентября 2018, 20:10

Есть строчка: String msg = "test";

Как можно проверить что там нету русских символов и нет пробелов?

Answer 1

Самое правильное - разобраться с регулярными выражениями. Но если строка небольшая, можно строку разбить на char массив и проверить каждый символ по таблице ASCII.

Answer 2

Вот такое решение для вас подойдет:

System.out.println("test".matches("[а-яА-ЯёЁ]+"));
System.out.println("тест".matches("[а-яА-ЯёЁ]+"));

Но имейте ввиду, что эта регулярка не примет пробелов и знаков препинаний...вы их просто можете добавить во внутрь регулярного выражения:

System.out.println("Я, Стеков Стек Стекович, буду завтракать".matches("[а-яА-ЯёЁ ,!]+"));
Answer 3

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

READ ALSO
Запись чисел в лист в виде массива

Запись чисел в лист в виде массива

Делаю реализацию игры Mastermind взял за основу алгоритм Кнута

190
Клиент - сервер на javafx

Клиент - сервер на javafx

Сделала авторизацию пользователя в javafx - приложенииУ меня есть 2 роли: ребенок и родитель

211
scene builder полноэкранный режим

scene builder полноэкранный режим

Как в scene builder сделать так, чтобы при развертывании окна любого размера равномерно растягивалась и сжималась картинка и ничего не сьезжало

172
Libgdx.net чем отличается от java.net

Libgdx.net чем отличается от java.net

Чем отличается libgdxnet от стандартной библиотеки java

140