powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поиск в тексте
14 сообщений из 14, страница 1 из 1
Поиск в тексте
    #39572782
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос как организовать поиск по тексту.

предположим текст в документе разделён на строки

Я могу искать подстраку в строке. Но что если совпаденине затрагивает несколько строк???

Должны быть готовые алгоритмы!
...
Рейтинг: 0 / 0
Поиск в тексте
    #39572877
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
регулярные вырожения это поняиютно. но мне надо найти в каких строках найдено совпадение. Если совпадений несколько то наити все.

то есть как я понял измерить длину искомого текста(скажем 20 символов) берём первые 20 символов текста документа и сравниваем. если нет то сдвигаем на символ и сравниваем опять. я вправельном направлении думаю или нет?
...
Рейтинг: 0 / 0
Поиск в тексте
    #39572885
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AreostarНо что если совпаденине затрагивает несколько строк???
Если в подстроке есть символ(ы) перевода строки - то совпадение ОБЯЗАНО "затрагивать несколько строк". А если таковых нет - то совпадение НЕ МОЖЕТ "затрагивать несколько строк".
...
Рейтинг: 0 / 0
Поиск в тексте
    #39572892
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

дельное замечание. данный символ надобудет игнорить.

на счёт перебора направление правельное или как то по другому можно?
...
Рейтинг: 0 / 0
Поиск в тексте
    #39572981
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AreostarВопрос как организовать поиск по тексту.
Должны быть готовые алгоритмы!
Да полно. Ты на чем кодить собрался, малыш?
https://www.regexbuddy.com/programming.html
...
Рейтинг: 0 / 0
Поиск в тексте
    #39573009
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostarберём первые 20 символов текста документа и сравниваем. если нет то сдвигаем на символ и сравниваем опять. я вправельном направлении думаю или нет?
Не эффективно. Лучше, берем текст и ищем в нем первый символ из искомой строки. Если он найден, тогда уже со следующей позиции сравниваем строки. Если строки совпали, переходим к поиску начиная со следующего символа после конца строки. Если не совпали - то к поиску, начиная со следующего символа после найденного в первом поиске.
...
Рейтинг: 0 / 0
Поиск в тексте
    #39573017
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128,

в этом есть смысл! :) буду думать дальше
...
Рейтинг: 0 / 0
Поиск в тексте
    #39573022
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Размер текста?
...
Рейтинг: 0 / 0
Поиск в тексте
    #39573074
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Ну в среднем несколько сот строк
...
Рейтинг: 0 / 0
Поиск в тексте
    #39573078
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostar , тогда тупо загрузить всё в память, вычистить переводы строк из текста и из шаблона, и использовать штатную функцию поиска подстроки в строке.
...
Рейтинг: 0 / 0
Поиск в тексте
    #39573363
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akinaиспользовать штатную функцию поиска подстроки в строке
AreostarЕсли совпадений несколько то наити все
В цикле
...
Рейтинг: 0 / 0
Поиск в тексте
    #39574078
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostarрегулярные вырожения это поняиютно. но мне надо найти в каких строках найдено совпадение. Если совпадений несколько то наити все.

то есть как я понял измерить длину искомого текста(скажем 20 символов) берём первые 20 символов текста документа и сравниваем. если нет то сдвигаем на символ и сравниваем опять. я вправельном направлении думаю или нет?
В данной сферической постановке - тебе вполне подойдут регулярки. Для них - переводы строк
это просто какой-то класс символов разделителей наподобие пробелов и табов.

Что там по поводу длины - непонятно. Если ты взял API регулярок в Java/.Net то результатом
поиска будет набор объектов-групп (Groups) или коллекция групп. И ты ходишь по ним в цикле
и делаешь какие-то проверки дальше.

Если задача слишком для тебя сложна - то разбей ее на этапы. Например в первом
из набора строк разделенных переводами строк - делаешь одну большую строку
и т.д.
...
Рейтинг: 0 / 0
Поиск в тексте
    #39574196
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руслан Дамирович,

уже упоминал возможность того что часть искомой подстроки могут быть в одной строке, несколько в другой
...
Рейтинг: 0 / 0
Поиск в тексте
    #39574206
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

думаю реализовать на python. в порядке изучкния этого языка.

для интерфейса рекомендуют Qt+python
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поиск в тексте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]