Перемешать спарсенные слова

Тема в разделе "Решение различных задач по парсингу", создана пользователем lexabubu, 23 дек 2014.

  1. lexabubu

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

    Регистрация:
    23 дек 2014
    Сообщения:
    17
    Доброго времени суток уважаемые форумчане sbfactory)
    Не могу никак придумать метод перемешивания слов в спасенном контенте.
    Вижу есть функция "перемешать строки", но никак не слова!
    Есть какие либо решения для организации этого момента?):headbang:
     
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Нажать ctrl+2 и вставить туда примерно следующее:
    Ничего другого пока по этой теме нет. Если подойдет такой вариант, буду рад!

    С уважением к вам, Сергей...
     
  3. lexabubu

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

    Регистрация:
    23 дек 2014
    Сообщения:
    17
    Я так понимаю, что вместо текста может быть граница парсинга ? Вообще этот вариант я пробовал, но не получил результата, единственное что в открывающем тэге макроса "()* не поставлял))
     
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Да, можно туда вставлять макрос любой границы парсинга. А в скобках макроса должен стоять символ пробела, так как перемешка слов идет относительно пробелов.
     
  5. lexabubu

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

    Регистрация:
    23 дек 2014
    Сообщения:
    17
    И тут у меня снова появился вопрос!
    А возможно ли как то реализовать чтобы слова мешались только в предложении, а не в тексте целиком? при условии что границей парсинга является несколько предложений. А то получается вот такая вот не связанная между собой фигня))))

    [​IMG]
     
  6. lexabubu

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

    Регистрация:
    23 дек 2014
    Сообщения:
    17
    единственное что радует, а текст то получается уникальный :D
    [​IMG]
     
  7. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.430
    Адрес:
    Latvia
    Можно попробовать регулярным выражением для отдельной границы сделать каждое предложение с метками, потом эту границу указать как область кода для повторяющиеся границы, внутри повторяющиеся границы указать макрос SHAKE - этот макрос сработает для каждого цикла отдельно то есть по каждому предложению.
     
  8. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    По-моему так и так с перемешкой слов получается "фигня", уж простите.
     
  9. lexabubu

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

    Регистрация:
    23 дек 2014
    Сообщения:
    17
    Что верно то верно )))
    Спасибо больше и так нормально, главное чтобы асессоры на сайт не зашли :-D
     
  10. emkub

    emkub Active Member Пользователи

    Регистрация:
    16 мар 2015
    Сообщения:
    157
    Здравствуйте!
    Дабы не множить темы, спрошу в уже существующей.
    Имеется такой результат: 15:38, 04 мая 2015
    как его преобразовать в: 04 мая 2015 - 15:38

    <shake> - срабатывает только в половине случаев...
     
  11. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.430
    Адрес:
    Latvia
    Пробуйте такое регулярное выражение, подхватывает значения и меняет на выходе местами:
    Код:
    re:([\d]{2})\:([\d]{2}), ([\d]{2})([\s\t\w]{4,7})([\d]{4})|$3$4$5 - $1$2
     

    Вложения:

    Последнее редактирование: 4 май 2015
  12. emkub

    emkub Active Member Пользователи

    Регистрация:
    16 мар 2015
    Сообщения:
    157
    Благодарю за ответ!
    Но я видать малость туповат :) Вообще не могу разобраться, куда вставить эту регулярку... Пробовал по-разному. Должно ли работать это выражение в окне "Дополнительные настройки границ парсинга" -> "функция поиск-замены"?
    С синтаксисом регулярного выражения тут вроде понятно (объяснение в примере хорошее). Но не понял, что за окошко "Заменить" в примере выше?
     
  13. emkub

    emkub Active Member Пользователи

    Регистрация:
    16 мар 2015
    Сообщения:
    157
    Можете подробнее объяснить, что значит "([\s\t\w]{4,7})"? И может ли тут быть ошибка?
     
  14. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.430
    Адрес:
    Latvia
    Видети ли не проверил имено в cd, в notepad++только апроверял где показало что все ок.

    ----
    Скопируйте
    Код:
    re:([\d]{2})\:([\d]{2}),([\d\s\t]{2,5}) ([а-я]{3,}) ([\d]{4})|$3 $4 $5 - $1:$2
    Перейдите в в дополнительных настройки границ (ctrl+4)
    И вставьте в поле "поиск-замена" для той границы которая выводит дату.
    Если не при парсинге не меняет дату как надо, приведите ту часть кода на которую применяется регулярное выражение ил укажите ссылку страницы
     
    Последнее редактирование: 4 май 2015
  15. emkub

    emkub Active Member Пользователи

    Регистрация:
    16 мар 2015
    Сообщения:
    157
    В очередной раз спасибо!
    Теперь буду изучать регулярки :) Очень удобная и временами незаменимая вещь!
     

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