Как проверить определенное количество букв подряд в String Java

Я хочу проверить, содержит ли моя строка слова определенной длины

String s = "ab a abc ac";
if (s.contains(/*any words with 3 or more letters which would be 'abc'*/){
   //doSomething
}

Есть ли способ сделать это в регулярном выражении или простым методом? Похожий на

s.contains("[a-za-za-z]"); //or
s.contains().lettersInARow(3);

Я хочу найти их и выдать ошибку, когда будет найдено что-то длиннее 2 символов.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
29
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

or with a simple method

String s = "?ab a abc ac";
long countWordsWithAtLeastThreeCharacters = 
    Arrays.stream( s.split( " " ) )
    .filter( word -> input.codePoints().toArray().length > 3 )
    .count() ;

Я добавил ЛИЦО С МЕДИЦИНСКОЙ МАСКОЙ, чтобы продемонстрировать, что это работает со всеми персонажами. Избегайте использования char, так как он физически не может представлять большинство символов.


Имейте в виду, что в некоторых языках то, что вы можете воспринимать как одну «букву», на самом деле представляет собой комбинацию символов два, букву, за которой следует «комбинированный диакритический знак». Пример здесь. Обсуждение здесь.

Любите безопасное программирование COVID. Но это не сработает с антипрививочниками, потому что у них нет своих смайликов. (Давайте начнем теорию заговора по этому поводу :-))

Stephen C 19.03.2022 02:54

Другие вопросы по теме