Если в фразе нет пробелов?

Тема в разделе "Решение различных задач по парсингу", создана пользователем Ohr, 19 ноя 2015.

  1. Ohr

    Ohr New Member Пользователи

    Регистрация:
    8 ноя 2015
    Сообщения:
    20
    И снова здравствуйте!

    Натолкнулся на вот такие названия товаров:
    Комплект (полз.евро+кофточка 3кн) Футер

    Интересует вот какой вопрос - как поделить текст без пробелов на адекватные слова?
    Типа:
    re:.*полз.*|ползунки
    re:.*кофт.*|кофточка
     
  2. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    На основе стольких примеров сложено придумать чтото универсальное
     
  3. Ohr

    Ohr New Member Пользователи

    Регистрация:
    8 ноя 2015
    Сообщения:
    20
    Не совсем понял. Мало примеров?

    Дело в том что применяя к тексту "Комплект (полз.евро+кофточка 3кн) Футер":

    re:.*Комплект.*|Комплекты
    re:.*полз.*|ползунки
    re:.*кофт.*|кофточка
    для новорожденных

    В итоге я получаю только:

    Комплекты

    Остальное куда то пропадает.
    А хотелось получить "Комплекты ползунки, кофточка для новорожденных"
     
    Последнее редактирование: 19 ноя 2015
  4. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    Имел ввиду о входных данных, какие попадаются названия которые разделить надо по словам?
     
  5. Ohr

    Ohr New Member Пользователи

    Регистрация:
    8 ноя 2015
    Сообщения:
    20
    Данных может быть много, нужно перебрать сайт с товарами, и привести к нормальному виду, мне бы принцип понять. На вашем примере я надеюсь собрать базу ключевиков и ими заменить названия товаров. А то то что есть вообще не читаемое.
     
  6. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    надо слова както указать строго, не регулярками, достаточно простой замены указания слова входящего с пробело и/или со знаком припинания.
     
  7. Ohr

    Ohr New Member Пользователи

    Регистрация:
    8 ноя 2015
    Сообщения:
    20
    Спасибо, жаль что слова строго надо определять.
     
  8. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    Допустим источник имеет непонятные наименования и нам стоит задача этим непоняткам придать более приятный и читабельный вид.
    Для начало не помешает распарсить сайт чтобы получить список всех наименваний товара и рассмотреть что требует корректировки.

    Пример входных данных:
    Пробуем заменами привести в нормальный вид, но сначало надо привести к одному стандарту, для удобной коректировки потом.
    Код:
    're:^(.*?)$| $1 '
    '(| ( '
    ')|) '
    '+| и '
    're:[\s\t]*,[\s\t]*|, '
    're:[\s\t]*\.[\s\t]*|. '
    re:[\s\t\r\n]+|#
    Это были первые строки для списка замен (без кавычек ' скопируйте).
    После которых получаем из "Комплект(рубашка+шор.с карманами)"
    Теперь расставив метки, можно более строго задавать список замен не опасаясь что замены перепишут друг друга.
    Далее пишем замены простым способом без регулярок
    #шор.#|#шорты#
    ...
    и т.д.
    В самом конце списка добавьте замену с # на пробел.
     

Поделиться этой страницей