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

Тема в разделе "Как сделать...", создана пользователем sp1rit, 17 мар 2008.

Статус темы:
Закрыта.
  1. sp1rit

    sp1rit Постоялец

    Регистр.:
    30 сен 2006
    Сообщения:
    51
    Симпатии:
    5
    ... одна и таже последовательность символов.

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

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

    Спасибо
     
  2. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    регулярные выражений
     
  3. ziavra

    ziavra Постоялец

    Регистр.:
    14 сен 2006
    Сообщения:
    123
    Симпатии:
    55
    А что такое "интервал дозволености символов" ? это расстояние между двумя словами "маша", или какой там набор символов может быть, или что?
     
  4. sp1rit

    sp1rit Постоялец

    Регистр.:
    30 сен 2006
    Сообщения:
    51
    Симпатии:
    5
    расстояние между двумя словами "маша"
     
  5. ziavra

    ziavra Постоялец

    Регистр.:
    14 сен 2006
    Сообщения:
    123
    Симпатии:
    55
    Тогда действительно регэскпами это реализуется, наверное, просто есть еще разные алгоритмы, которые считают смысловое расстояние между словами.
     
  6. Poster

    Poster дизайнер

    Регистр.:
    13 сен 2006
    Сообщения:
    100
    Симпатии:
    31
    еще наверное strpos
    а как регекспами расстояние задавать?
     
  7. timati

    timati Постоялец

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

    Я думаю самый простой способ и самый оптимизированный
     
  8. Jeurey

    Jeurey

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

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