Поиск-замена [VALUE] в повторяющихся границах

Тема в разделе "Границы парсинга", создана пользователем KEN, 12 авг 2015.

  1. KEN

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

    Регистрация:
    2 авг 2015
    Сообщения:
    19
    как в повторяющихся границах [VALUE] сделать замены

    Белый/Голубой|бело-голубой
    Красный/Черный|красно-черный
    Бирюза|бирюзовый

    и тд еще 100 цветов


    сразу делал
    [REPLACE(Черный/Белый|черно-белый)Красный/Белый|красно-белый)Черный/Красный|черно-красный)][VALUE][/REPLACE] но макрос судя по всему работает только с одной парой значений.

    как правильно записать?
     
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Неудобный вариант хотите использовать, но всеже несколько замен в макросе идут через {break} каждая.

    Рекомендую делать замену в вашем случае через границу которая указана внутри повт.границы
    Как правильно делать, описано и показано на видео тут - Ссылки недоступны для гостей
    После ваш список построчно редактируйте в доп.настройке границ (ctrl+4)
     
  3. Root

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

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

     
  4. KEN

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

    Регистрация:
    2 авг 2015
    Сообщения:
    19
    Сделал через повторяющиеся границы как советовал kagorec.
    Это конечно в разы удобней, чем просто в шаблон вывода выводить тонну текста

    Но редактировать шаблон вывода после такого почти не реально, потому что там настолько много вариантов замены, что даже заметно подтормаживать стало при редактировании

    В общем сделал через границу, которая указана внутри повт.границы и в доп.настройке границ указываю все замены

    пример части кода
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    НО, когда цвет пример - шоколадный, идет замена на коричневый и в результате выводится как коричневыйный

    Как это можно исправить ? И это лишь один из немногих примеров
    Нужно что бы в с списке замен находило именно тот вариант, который совпадает на 100%, а не первый попавшийся

    [ONERULE] не поможет
     
  5. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Указывайте регулярным выражением, так вы добьетесь чтобы "строго" заменяло что указано вплодь до соответсвия регистра букв.
    re: - начало указывающее что используется рег.выражение
    ^ - строгое указание от начала замены
    $ - строгое указание окончание в замене
    Код:
    re:^оригинал$|коричневый
    re:^Шоколад |коричневый
    re: шоколадный | коричневый 
    и т.д. надеюсь суть понятна
    Обратите внимание что слово если находится внутри текста тогда в замене используем его пробелы которые находятся до или после, так придается более строгое указание на замену и позволит избежать проблему с "перезаменами" которая вам мешала ранее.

    п.с. таким способом пару тысяч строк в поиск-замена делал, малозаметно сказывалось на потреблении ресурсов ПК
     
    Последнее редактирование: 24 авг 2015

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