Найти участок текста на котором встречается...

Статус
В этой теме нельзя размещать новые ответы.

sp1rit

Постоялец
Регистрация
30 Сен 2006
Сообщения
56
Реакции
8
... одна и таже последовательность символов.

Есть текст
текст текст текст текст текст текст текст маша мыла раму маша зайцева мыла раму маша зайцева второй раз мыла раму текст текст текст

нужно найти в данном тексте череду последовательностей слова "маша" и так чтобы можно было указать интервал дозволености символов между словом "маша".

Писать за меня никого не прошу, просто посоветуйте что нибудь.

Спасибо
 
регулярные выражений
 
А что такое "интервал дозволености символов" ? это расстояние между двумя словами "маша", или какой там набор символов может быть, или что?
 
расстояние между двумя словами "маша"
 
Тогда действительно регэскпами это реализуется, наверное, просто есть еще разные алгоритмы, которые считают смысловое расстояние между словами.
 
еще наверное strpos
а как регекспами расстояние задавать?
 
Короче как я понял тебе нужно найти расстояния между словами маша в тексте?короче делаешь так:
1; функцией explode разбиваешь строку на подстроки причем разбиваешь по слову маша...ПРедположим у тебя была строка:
фавыаыафаымашаfsdfdsfsdfdsfvfьмашаfsafsaf
------------------------------
То станет массив в котором первый элемент
фавыаыафаы
второй:
fsdfdsfsdfdsfvfь
третий:
fsafsaf
-------------------
Теперь функцией strlen проверяешь длинну подстрок и все........:)

Я думаю самый простой способ и самый оптимизированный
 
Самый оптимизированный способ - делать посимвольное чтение строки. Копать в сторону методов трансляции (сложно, если полностью вникать, но того стоит :)).

Тогда все можно реализовать: и расстояния в символах, и стоп-слова выкидывать (я так понимаю, я в верном направлении думаю? :)) и анализировать вхождения со словоформами (если использовать стемминг а-ля mystem производства Yandex);)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху