Задание №10 — Поиск слова в тексте
Определите, сколько раз в тексте II главы романа М. А. Булгакова «Собачье сердце» встречаются отдельные слова «меня» или «Меня». В ответе укажите только число.
Правильный ответ
12
Пояснение
Решение:
Считать нужно не по всему роману, а только по главе II, поэтому сначала выделим её текст: от заголовка «II» до заголовка «III» (в Word — поставить курсор в начало главы II и, удерживая Shift, щёлкнуть перед заголовком «III»).
Затем нажимаем Ctrl+F, вводим меня, включаем «Только слово целиком» (чтобы не посчитать «изменять», «уменьшать» и подобные слова, содержащие это буквосочетание) и не включаем «Учитывать регистр» — нужны и «меня», и «Меня». По кнопке «Найти все» поиск идёт по выделенному фрагменту и редактор показывает количество найденного.
В главе II слово встречается 12 раз.
Проверка программой: вырезаем фрагмент текста между заголовками глав и считаем вхождения.
import re
text = open('text.txt', encoding='utf-8').read()
start = text.index('\nII\n')
end = text.index('\nIII\n')
chapter = text[start:end]
matches = re.findall(r'(?<![А-Яа-яЁё])[Мм]еня(?![А-Яа-яЁё])', chapter)
print(len(matches)) # 12
Ответ: 12