Есть несколько инструментов для удаления дублей информации при парсинге во вкладке “Контент”
Красный Зеленый Зеленый Зеленый Синий Синий Синий |
Красный Зеленый Зеленый Зеленый Синий Синий Синий
И из него нужно удалить дубли строк.
Используйте для этого макрос шаблона вывода [DELDUP]
[DELDUP({br})]Красный Зеленый Зеленый Зеленый Синий Синий Синий[/DELDUP] |
[DELDUP({br})]Красный Зеленый Зеленый Зеленый Синий Синий Синий[/DELDUP]
В итоге получим
Красный Зеленый Синий |
Красный Зеленый Синий
Макрос разбивает текст на элементы по заданному разделителю (в данном случае – перенос строки {br}) и удаляет дубли этих элементов.
Стоит отметить, что макрос не чувствителен к регистру.
Рассмотрим еще один пример, допустим, есть строка:
Красный, Зеленый, Зеленый, Зеленый, Синий, Синий, Синий |
Красный, Зеленый, Зеленый, Зеленый, Синий, Синий, Синий
В этом случае в качестве разделителя нужно указать запятую
[DELDUP(,)]Красный, Зеленый, Зеленый, Зеленый, Синий, Синий, Синий[/DELDUP] |
[DELDUP(,)]Красный, Зеленый, Зеленый, Зеленый, Синий, Синий, Синий[/DELDUP]
В итоге получим
Красный, Зеленый, Синий |
Красный, Зеленый, Синий
Примечание: При проверке на дубли символы пробелов и переносов строк в начале и в конце каждого вхождения не учитываются!
В шаблоне вывода может размещаться сколько угодно много макросов [DELDUP] и они будут работать независимо друг от друга (каждый макрос будет удалять дубли только в своих пределах).
Если после удаления дублей нужно будет привести данные к другому формату, например, удалить пробелы после запятых, пользуйтесь макросом [FINAL_REPLACE] (он выполняется после макроса [DELDUP])
[FINAL_REPLACE(, |,)][DELDUP({br})]Красный, Зеленый, Зеленый, Зеленый, Синий, Синий, Синий[/DELDUP][/FINAL_REPLACE] |
[FINAL_REPLACE(, |,)][DELDUP({br})]Красный, Зеленый, Зеленый, Зеленый, Синий, Синий, Синий[/DELDUP][/FINAL_REPLACE]
Также к нему можно подключать текстовый файл на диске (в который будут заноситься вхождения), чтобы при последующих процедурах парсинга база вхождений не строилась заново, а загружалась из файла на диске.
Подробнее ознакомиться с работой макроса можно тут
Если у вас исходная информация представлена не в виде строк, а значений, разделенных, например, запятой, то сначала замените запятые на переносы строк, выполните [DELSTRDUP] и затем произведите обратную замену переносов строк на запятые.
(оценок: 1, средний балл: 5.00)