Tzimiscedemon
@Tzimiscedemon
Руководитель направления дистанционного обучения

Как проверить наличие в строке определённого количества слова подряд?

Дана строка со словами и числами, разделенными пробелами (один пробел между словами и/или числами). Слова состоят только из букв. Вам нужно проверить есть ли в исходной строке три слова подряд. Для примера, в строке "start 5 one two three 7 end" есть три слова подряд. Если есть три слова подряд, то вернуть true, иначе false.

Я не прошу дать мне готовое решение. Я прошу Вас подсказать мне куда копать, чтобы решить ее. На что обратить внимание.
  • Вопрос задан
  • 1044 просмотра
Решения вопроса 3
Stalker_RED
@Stalker_RED
Два варианта:
1. Разбить текст по пробелам (split)
Пройти циклом (for, forEach) увеличивая счетчик каждый раз когда встретили слово, и обнуляя если попалось число.

2. Использовать регулярное выражение.
https://regex101.com/r/xDKT6w/2
Ответ написан
Комментировать
@nirvimel
Какие еще циклы? Какие еще алгоритмы? Это же регекс из нескольких символов!
[A-Za-z]+\s+[A-Za-z]+\s+[A-Za-z]+
https://regex101.com/r/T16PK7/1
Ответ написан
Комментировать
rim89
@rim89
программист-велосипедист
1. Регулярка
2. Разбить строку на массив через split, где параметр - пробел. Потом перебирать массив. Например делить каждый элемент на что то. Если 3 раза подряд вернётся NaN ( возвращается если буквы делить на число) - то значит и функция вернёт true, т.е. в строке есть 3 слова подряд
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
1) Разбить на отдельные строки по пробелу
2) проверять по регулярке каждую строку
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы