Задача
В XML-фиде поставщик передает срок поставки текстом: 3-5 дней, 14 дней, иногда на заказ. Для каталога нужен числовой lead time, чтобы фильтровать и сортировать товары.
Короткий ответ
Откройте настройки значения delivery_time и добавьте правило: условие Регулярное выражение со значением \d+ (находит одну или несколько цифр подряд), действие Удалить все, кроме.
Как сделать в Eofferix
Откройте настройки значения
delivery_timeв XML-редакторе.
Анимация показывает открытие настроек именно значения XML-узла, а не всего offer.Добавьте правило: условие
Регулярное выражение, значение\d+(находит одну или несколько цифр подряд), действиеУдалить все, кроме.
Правило оставляет первое найденное число и убирает текстовую единицу измерения. Сохраните настройки и проверьте строки с диапазоном, одним числом и текстом без числа.
Было / стало
Было
исходные данные<catalog>
<offers>
<offer id="4001">
<sku>SKU-4001</sku>
<name>Лампа Ладога</name>
<delivery_time>3-5 дней</delivery_time>
<stock>12</stock>
</offer>
<offer id="4002">
<sku>SKU-4002</sku>
<name>Кресло Волга</name>
<delivery_time>14 дней</delivery_time>
<stock>4</stock>
</offer>
</offers>
</catalog>Стало
результат<catalog>
<offers>
<offer id="4001">
<sku>SKU-4001</sku>
<name>Лампа Ладога</name>
<delivery_time>3</delivery_time>
<stock>12</stock>
</offer>
<offer id="4002">
<sku>SKU-4002</sku>
<name>Кресло Волга</name>
<delivery_time>14</delivery_time>
<stock>4</stock>
</offer>
</offers>
</catalog>