Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/10: Рейтинг темы: голосов - 10, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 02.05.2017
Сообщений: 13

Поиск по частичному совпадению

26.04.2022, 10:55. Показов 2321. Ответов 3

Студворк — интернет-сервис помощи студентам
Подскажите, имеется два файла формата txt в первом файле набранный текст, а во втором набор ключевых слов, необходимо найти и выделить все индексы слов, которые начинаются с ключевого слова, например: есть буква "к" и нужно найти все слова, начинающиеся с этой буквы "который, как, когда" и выделить индекс самих слов, а не букв, и нужно обязательно оформить в виде функции, при этом нельзя просто задать ключевое слово внутри кода, необходимо вызывать файл с ключевыми словами и проверять в файле с заданным текстом, так как могут добавляться новые ключевые слова.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.04.2022, 10:55
Ответы с готовыми решениями:

Поиск по совпадению ключа, сортировка методом «быстрой сортировки»
Поиск по совпадению ключа при наличии нескольких элементов с одинаковым значением ключа. Сортировка методом «быстрой сортировки» с...

Поиск в БД по частичному совпадению
как сделать что бы он искал по 1-вой букве помогите дописать. procedure TForm3.Button1Click(Sender: TObject); begin if...

Поиск по частичному совпадению
Есть БД. В ней нужно организовать поиск по частичному совпадению данных, то есть в Edit в событие OnChange вбивается: AnsiString s5; ...

3
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.04.2022, 14:10
Цитата Сообщение от KarlTTR Посмотреть сообщение
выделить индекс самих слов, а не букв
Чем отличается индекс слова от индекса его первой буквы?

Добавлено через 12 минут
Python
1
2
3
4
5
6
7
8
9
import re
 
with open('in.txt', 'r', encoding='utf-8') as textfile, open('keys.txt', 'r', encoding='utf-8') as keysfile:
    text = textfile.read()
    keys = keysfile.read().split()
 
for key in keys:
    print(f'++++++++++++++++++++++++++++++++++++++++++++++\nKey: {key}')
    print(*[f'{i.group()}: {i.span()}' for i in re.finditer(rf'(?im)\b{key}\w*', text)], sep='\n')
in.txt

Подскажите, имеется два файла формата txt в первом файле набранный текст, а во втором набор ключевых слов, необходимо найти и выделить все индексы слов, которые начинаются с ключевого слова, например: есть буква "к" и нужно найти все слова, начинающиеся с этой буквы "который, как, когда" и выделить индекс самих слов, а не букв, и нужно обязательно оформить в виде функции, при этом нельзя просто задать ключевое слово внутри кода, необходимо вызывать файл с ключевыми словами и проверять в файле с заданным текстом, так как могут добавляться новые ключевые слова.

keys.txt

кл
н

result

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
++++++++++++++++++++++++++++++++++++++++++++++
Key: кл
ключевых: (92, 100)
ключевого: (174, 183)
ключевое: (405, 413)
ключевыми: (460, 469)
ключевые: (550, 558)
++++++++++++++++++++++++++++++++++++++++++++++
Key: н
набранный: (57, 66)
набор: (86, 91)
необходимо: (107, 117)
найти: (118, 123)
начинаются: (161, 171)
например: (191, 199)
нужно: (218, 223)
найти: (224, 229)
начинающиеся: (241, 253)
не: (321, 323)
нужно: (332, 337)
нельзя: (384, 390)
необходимо: (433, 443)
новые: (544, 549)
0
0 / 0 / 0
Регистрация: 02.05.2017
Сообщений: 13
26.04.2022, 15:23  [ТС]
Подскажите, а не могли бы посмотреть данный код, который позволяет находить точное совпадение по ключевому слову, указывая позицию слова в тексте. Вот мне бы изменить эту функцию, но я не очень понимаю как это можно реализовать.
Миниатюры
Поиск по частичному совпадению   Поиск по частичному совпадению   Поиск по частичному совпадению  

0
0 / 0 / 0
Регистрация: 02.05.2017
Сообщений: 13
26.04.2022, 15:32  [ТС]
Забыл добавить снимок к предыдущему сообщению. Это текст второй функции для поиска по точному совпадению.
Миниатюры
Поиск по частичному совпадению  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.04.2022, 15:32
Помогаю со студенческими работами здесь

Поиск в таблице по частичному совпадению
Для поиска использую Table1.Locate('Naz', sEdit1.Text, ) но если ввожу "глушитель" вместо "бронзовый глушитель" ( к примеру) то поиск...

Поиск в БД по частичному совпадению в запросе
Подскажите как реализовать поиск в БД по частичному совпадению поискового запроса и строки в БД. Поиск по полному совпадению через SQL...

Поиск значений по частичному совпадению
Добрый день. Заранее благодарю за помощь. Имеется файл, в котором на "листе1" в столбце "А" находятся артикулы изделий, а в...

Поиск содержимого поля по частичному совпадению
Добрый день,имеется запрос нужно что бы искало по полю name, но не строки что именно в поле,а что бы можно было только часть строки...

Поиск по частичному совпадению двух ячеек
Добрый день. Прошу помощи с нетривиальной задачей. В интернете много искал, но решения не нашел. Суть в том, что нужно сравнить два...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru