поиск слов в файле по группе букв

Вот пример простой программы на Python, которая запрашивает у пользователя токен (подстроку)
и  затем ищет все подходящие слова, содержащие этот токен в файле `словарь.txt`
и затем  выводит их на экран.



```python
# Открываем файл словарь.txt и читаем все слова
with open('словарь.txt', 'r', encoding='utf-8') as f:
    words = f.read().splitlines()

# Запрашиваем токен у пользователя
token = input("Введите токен: ")

# Ищем слова, содержащие токен
matched_words = [word for word in words if token in word]

# Выводим найденные слова
print(f"Слова, содержащие '{token}':")
for word in matched_words:
    print(word)

```


 Как подготовить файл `словарь.txt`

Файл `словарь.txt` должен содержать слова, каждое слово с новой строки,
например:

```
телефон
тело
телепатия
телеграм
телега
теле
телевидение
телик
телевизор
телескоп
телесериал
телепередача
бестелесный
телец
телосложение
телёнок
телега
телепорт
метель
отель
```


автолюбителей
последовательно
антител
антитело
аристотелем
аристотель
аристотелю
аристотеля
аристотеляни
ателье
руководителя
бдительная
бдительные
бдительности
бдительность
бдительный
бдительных
бездеятельного
бездеятельной
бездеятельности
бездоказательна
бездоказательно
бездоказательное
безотлагательно
безотлагательное
безотносительно
бессодержательно
бессодержательный
бессодержательным
бессознательно
бессознательного
бессознательное
бессознательноеникто
бессознательноено
бессознательной
бессознательном
бессознательному
бессознательность
бессознательный
бессознательным
бессознательными
бессознательных
бестелесная
бестелесного
бестелесным
бестелесных
бетельгейзе
биоискателем
благодетелей
благодетелем
благодетель
благодетельницы
благодетельное
благодетельную
благодетеля
благодетелям
благожелательно
благожелательности
благожелательность
благожелательный
благожелательным
благожелательных
благотворительная
благотворительной
благотворительности
благотворительностью
благотворительные
благотворительных
блестел
блестела
блестели
блестело
блистательного
блистательный
вдохновитель
верительными
вертел
вертелась
вертелись
вертелось
вертелся
вершители
ветродвигателей
взлетел
взлетела
взлетели
взлетело
взыскательному
видеотелефону
видители
видителив
винительном
винительный
включателем
включительно
владетель
владетельного
владетельную
властелин
властелина
властелинами
властелинов
властелином
властелину
влетел
влетела
влетели
влетело
влиятельная
влиятельные
влиятельным
влиятельными
влиятельных
вместительный
вмешательств
вмешательства
вмешательствами
вмешательстве
вмешательство
вмешательством
внесознательное
внетелесные
внетелесный
внимателен
внимательна
внимательнее




 Запуск программы

 Создайте файл `словарь.txt` с нужными словами.
 Запустите программу.
 Введите токен, например `тел`.
 Программа выведет все слова, в которых встречается подстрока `тел`.


 могу помочь дополнить программу,
 например, сделать поиск только в начале слова, или игнорировать регистр


 


import re

# Читаем текст из файла
with open('текст.txt', 'r', encoding='utf-8') as file:
    text = file.read()

# Извлекаем слова (русские буквы), приводим к нижнему регистру
words = re.findall(r'\b[а-яёА-ЯЁ]+\b', text.lower())

# Создаём множество уникальных слов
unique_words = set(words)

# Сортируем по алфавиту
sorted_words = sorted(unique_words)

# Записываем результат в файл словарь.txt
with open('словарь.txt', 'w', encoding='utf-8') as file:
    for word in sorted_words:
        file.write(word + '\n')

print("словарь слов из текста сохранён в файле словарь.txt")



..


Рецензии