Как получить имя домена из ссылки в Таблицах Google

Суть затеи. Положим, что есть список ссылок, требуется в каждой из них найти имя домена.
Необходимый результат изображен ниже


Некоторые читатели, жалуются на простоту изложения. Ну, что ж... Не прыгнуть ли с места в карьер?
Используйте регулярные выражения. Они помогают решать сложные задачи, тренируют мозг и помогают пищеварению.

Рекомендуемые ресурсы:
В Таблицах Google существует хорошая формула REGEXEXTRACT.
REGEXEXTRACT
Извлекает определенную часть текста, соответствующую регулярному выражению.
Похоже, достаточно написать более-менее приемлемое регулярное выражения, для достижения цели. Особенностью доменного имени является то, что оно должно содержать только символы A-Z a-z А-Я а-я Ё ё . -. Хорошо, значит их и надо "выбрать" или "извлечь" из исходных данных. Подойдет такое выражение:
(?:.*?\:\/\/)?(?:www.?\.)?([A-Za-z0-9А-Яа-яЁё\-\.]+)
Что тут написано?
(?:.*?\:\/\/)? - ищи, но не запоминай любое сочетание символов, которое заканчивается на ://. Вся строка может отсутствовать
(?:www.?\.)? - ищи, но не запоминай любое сочетание символов, которое содержит www<Любой символ (может отсутствовать)>.<Точка>. Вся строка может отсутствовать
([A-Za-z0-9А-Яа-яЁё\-\.]+) - найди и запомни подряд один или больше символов из списка A-Z a-z А-Я а-я Ё ё . -
Применение в Таблице. Пусть в A2 имеется ссылка. В B2 необходимо получить результат. Формула имеет вид
=REGEXEXTRACT(A2;"(?:.*?\:\/\/)?(?:www.?\.)?([A-Za-z0-9А-Яа-яЁё\-\.]+)")
Для списка ссылок. Пусть в диапазоне A2:A8 имеется список ссылок. В B2 необходимо прописать формулу
=ARRAYFORMULA(REGEXEXTRACT(A2:A8;"(?:.*?\:\/\/)?(?:www.?\.)?([A-Za-z0-9А-Яа-яЁё\-\.]+)"))
Результат в Таблице Получение имени домена из URL
Читайте блог, и вы будете взрослеть со скоростью 3,15E+7 секунд/год

Комментарии

  1. Спасибо за статью. Опираясь на вашу формулу создал свою - =IFERROR(REGEXEXTRACT(A2;"[A-Za-z0-9А-Яа-яЁё\-\.]+[.][A-Za-z0-9А-Яа-яЁё\-\.]+");"")
    С помощью нее можно собрать ссылки из ячеек, содержащих прочие слова с пробелами.

    ОтветитьУдалить
  2. Спасибо за статью

    ОтветитьУдалить

Отправить комментарий

Спасибо за ваше сообщение. Оно может быть не опубликовано сразу из-за того, что попало на предмодерацию. Дождитесь публикации сообщения. Спасибо за понимание.

Thank you for your message. It may not be published immediately due to the fact that it got to pre-moderation. Wait for the message to be published. Thank you for understanding.

Не нашли ответ? Пишите!

Имя

Электронная почта *

Сообщение *