Поставщик прислал табличный прайс, где цена и остаток смешаны с текстом: Цена: 1490 руб. и Остаток: 12 шт.. Для импорта нужны чистые числовые поля price_clean и stock_clean.
Если формат строк может меняться, извлеките число регулярным выражением [0-9]+(?:[,.][0-9]+)? (находит целое или дробное число: одну или несколько цифр и необязательную дробную часть через точку или запятую). Если префиксы и единицы одинаковые во всем файле, удалите их правилами подстроки.
Как сделать в Eofferix
Способ 1: как сделать в Eofferix через регулярные выражения
Создайте итоговую колонку
price_cleanиз поляprice_rawи откройте ее настройки.
Анимация показывает открытие настроек итоговой колонки. Добавьте правило: условие
Регулярное выражение, значение[0-9]+(?:[,.][0-9]+)?(находит целое или дробное число: одну или несколько цифр и необязательную дробную часть через точку или запятую), действиеУдалить все, кроме.
Правило оставляет в цене только число и отбрасывает текст вокруг него.
Способ 2: как сделать в Eofferix через поиск подстроки
Если строки стабильные, создайте колонку
price_clean_textи удалите подстрокиЦена:ируб..
Подстроки удобны, когда поставщик всегда пишет один и тот же префикс и одну и ту же единицу. Для остатка создайте
stock_cleanи удалите подстрокиОстаток:ишт..
После двух удалений в поле остается только число остатка.
Было / стало
Было
исходные данные| vendor_code | name | price_raw | stock_raw |
|---|---|---|---|
| VN-1001 | Лампа Ладога | Цена: 1490 руб. | Остаток: 12 шт. |
| VN-1002 | Кресло Волга | Цена: 8420 руб. | Остаток: 0 шт. |
Стало
результат| vendor_code | name | price_clean | stock_clean |
|---|---|---|---|
| VN-1001 | Лампа Ладога | 1490 | 12 |
| VN-1002 | Кресло Волга | 8420 | 0 |
Что важно помнить
- Регулярное выражение удобно, когда поставщик иногда пишет валюту до числа или после числа.
- Подстрока проще для стабильных префиксов вроде
Цена:и единиц вродешт.. - Сначала проверьте несколько строк предпросмотра: нулевой остаток должен остаться
0, а не стать пустым значением.