Задача
В таблице есть полная ссылка на страницу сайта. В результат нужна отдельная колонка domain только с доменом, без http://, https://, www., пути, параметров и якоря.
Короткий ответ
Можно сделать без регулярных выражений через поиск и удаление подстрок. Если ссылок много и они разного вида, короче использовать regex-вариант.
Как сделать в Eofferix через поиск и удаление подстроки
- Создайте итоговую колонку
domainиз исходной колонкиurl. - В блоке Преобразования добавьте правила: Содержит подстроку
https://— Удалить подстрокуhttps://; затем такое же правило дляhttp://. - Добавьте правило: Начинается с
www.— Удалить подстрокуwww.. - Чтобы убрать путь, параметры и якорь, используйте пары правил для
/,?и#: сначала Удалить после, затем Удалить подстроку с тем же символом.
Вариант без regex: протокол и www удаляются как подстроки, путь и параметры обрезаются по разделителям. - Сохраните настройки колонки.
Как сделать в Eofferix через регулярные выражения
- Создайте итоговую колонку
domainизurl. - Добавьте правило
^https?://— Удалить подстроку. Здесь^означает начало строки,https?означаетhttpилиhttps, а://— буквальный фрагмент протокола. - Добавьте правило
^www\.— Удалить подстроку. Точка экранирована как\., потому что в regex обычная точка означает любой символ. - Добавьте правило
[/?#].*$— Удалить подстроку.[/?#]находит первый разделитель пути, параметров или якоря,.*берет все после него,$означает конец строки.
Regex-вариант короче: три правила удаляют протокол, www и все после домена. - Сохраните настройки колонки.
Было / стало
Было
исходные данные| row_id | url |
|---|---|
| 1 | https://www.shop.example.com/catalog/jackets?utm_source=feed |
Стало
результат| row_id | domain |
|---|---|
| 1 | shop.example.com |