пробел в "поиске и замене"

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

  1. rodyeug

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

    Регистрация:
    31 дек 2013
    Сообщения:
    19
    Люди спасите,

    нужно заменить один символ на него же только с пробелами по краям

    все руки изранил об кавычки, скобки и прочее

    т.е. на входе у меня > а на выходе должно быть ' > ' (не включая кавычки)

    безумно благодарен заранее

    ps - опция htm to text включена, парсю в csv
     
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    3.982
    Город:
    Riga
    поможет регулярное выражение
    [REPLACE(re:([\t\s]{0,50})>([\t\s]{0,50})| > )]<CD_GRAN_5!>[/REPLACE]
     
  3. rodyeug

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

    Регистрация:
    31 дек 2013
    Сообщения:
    19
    спасибище! через replace сделал, но вопрос про "поиск и замену" остается в силе, ибо проще там чем через макрос

    ps: у меня работает вот это: [REPLACE(>| > )]<CD_GRAN_2!>[/REPLACE]

    еще раз большое спасибо!
     
  4. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    3.982
    Город:
    Riga
    значит так же можно было применить и в "поиск-замена" в "дополнительные настройки границ"

    [​IMG]
     
  5. rodyeug

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

    Регистрация:
    31 дек 2013
    Сообщения:
    19
    на входе просто символ '>' (не включая кавычки), поэтому квантифаеры можно опустить. тогда всё упрощается до

    're:>| > '

    (не включая кавычек)?

    спасибо!
     
  6. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    3.982
    Город:
    Riga
    re: - указывается в макросах замены или в полях "поиск-замена" что после идет регулярное выражение
    ([\t\s]{0,50}) - регулярка указывает что на этом месте может быть пусто или пробел или таб в количестве 0-50
    п.с. если вам подарят телевизор, то вы пульт тоже выкинете? (имеется ввиду регуляку урезали зачемто)
     
  7. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    такая регулярка в КД лишена смысла поскольку не имеет спецсимволов. это обычная замена, которая действует точно так же, но зачем-то искусственно усложнена за счет приставки re:
    алгоритм замены в программе по умолчанию очень быстр, он вылизан и выверен годами - поэтому в простых задачах самописная регулярка будет помедленнее.
    схема предложенная Kagorec - универсальнее. она не только решает вашу задачу, но и удаляет вокруг тега лишние пробелы. а они часто имеют место быть, сам видел. не совсем правда понятно зачем искусственно ограничивать диапазон значениями 0-50, когда можно ляпнуть звездочку, но это как на вкус и цвет.
     
  8. rodyeug

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

    Регистрация:
    31 дек 2013
    Сообщения:
    19
    я лишь хотел убрать ненужное (0,50 и пр) ибо в моем случае это не нужно

    ни

    're:>| > ' (не включая кавычек)

    ни

    '>| > ' (не включая кавычек)

    в 'поиске и замене' не работают.

    Суть вопроса: как обозначить пробел в 'поиске и замене' ( ибо внутренний парсер тримит пробелы ) ?

    попробуйте сами, или у меня руки кривые? (во что готов с готовностью поверить! ;) )
     
  9. rodyeug

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

    Регистрация:
    31 дек 2013
    Сообщения:
    19
    ой ребят, отбой. вчера чет лыжи не ехали, а сегодня заработало!


    спасибо еще раз!
     

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