Например, нужно спарсить производителей из ряда заголовков товаров
1 2 3 | Купить телефон Apple iPhone 7 Купить Samsung S7 ... |
Естественно, просто так их из текста не выдернуть (располагаются в разных местах заголовка).
Решением является макрос [EXTRACTWORD] с заранее-подготовленным в нем списком возможных производителей:
1 2 3 | [EXTRACTWORD][WORDS]Apple|Samsung|Vertu[/WORDS]Купить телефон Apple iPhone 7[/EXTRACTWORD] [EXTRACTWORD][WORDS]Apple|Samsung|Vertu[/WORDS]Купить Samsung S7[/EXTRACTWORD] ... |
В результате работы макросов получим:
1 2 3 | Apple Samsung ... |
А если нужно удалить из заголовков производителей, добавляем параметр [CLEAR]:
1 2 3 | [EXTRACTWORD][CLEAR][WORDS]Apple|Samsung|Vertu[/WORDS]Купить телефон Apple iPhone 7[/EXTRACTWORD] [EXTRACTWORD][CLEAR][WORDS]Apple|Samsung|Vertu[/WORDS]Купить Samsung S7[/EXTRACTWORD] ... |
В результате работы макросов получим:
1 2 3 | Купить телефон iPhone 7 Купить S7 ... |
Дополнительные параметры:
[LINEMODE] – включает режим построчной обработки текста
[ONCE] – будет браться только одно слово
[SEP]разделитель[/SEP] – указываем любой нужный разделитель для вывода данных
Параметры указываются внутри макроса [EXTRACTWORD]
Также возможно извлечение слов или чисел из текста по указанным правилам
1 | [EXTRACTWORD][RULES]Правила[/RULES]Текст[/EXTRACTWORD] |
Видим, что вместо параметра [WORDS] используется параметр [RULES]. В параметр [RULES] вы можете помещать следующие операторы:
{letters} – разрешение любых букв в извлекаемых “словах”
{numbers} – разрешение любых цифр в извлекаемых “словах”
Также в параметре [RULES] вы можете перечислить (без разделителей) любые символы (которые будут считаться за части искомых “слов”).
Примеры:
1 2 3 | [EXTRACTWORD][RULES]{numbers}.-[/RULES]Текст[/EXTRACTWORD] - из текста будут извлечены все числа, которые так же содержат в себе указанные символы . и - [EXTRACTWORD][RULES]{numbers}[/RULES]Текст[/EXTRACTWORD] - из текста будут извлечены все числа [EXTRACTWORD][RULES]{letters}[/RULES]Текст[/EXTRACTWORD] - из текста будут извлечены все слова |
Еще обратите внимание на параметр [PREREPLACE]
1 | [EXTRACTWORD][PREREPLACE]Правила поиск-змены[/PREREPLACE]... Текст[/EXTRACTWORD] |
Указанные правила поиск-замены будут применены к тексту перед извлечением из него “слов”.