2017-01-05 8 views
1

Мне нужна формула, которая может сбрасывать любые URL-адреса от начала до корня (независимо от того, какая структура имеет общий URL-адрес), и все после того, как корень также необходимо удалить (в том числе конечный /).Извлечь корневой домен с помощью регулярного выражения Google Таблиц

Вот две формулы, которые я нашел в других потоках:


Формула 1:

=trim(REGEXEXTRACT(REGEXREPLACE(REGEXREPLACE(A2,"https?://",""),"^(w{3}\.)?","")&"/","([^/?]+)")) 

Это удаляет все из корневого домена, поддоменов, за исключением.


Формула 2:

=REGEXEXTRACT("."&A2&"/","\.([^.]+\.[^./?]+)(?:/|\?)") 

Это удаляет все от корневого домена, кроме https://.


Edit: Я баловаться с ней немного больше. Формула 2 может иметь дело с https://www. и http://www., но не с https: или http:.

Вот скриншот примеров формул в G листов: formula

+0

Спасибо, отлично работает. Есть ли формула для сравнения значения ячейки в листе 1 со значениями целой строки во втором листе? Затем, если значение ячейки из листа 1 соответствует значению из листа 2, в исходную ячейку добавлен цвет фона? –

+0

Вопрос не в тему для этой темы, поэтому я сделал новый: http://stackoverflow.com/questions/41508390/google-sheets-compare-cell-value-in-sheet-1-to-cell-values- в-колонки-оф-листа –

ответ

0

Есть много подходов, здесь довольно прост один:

=regexextract(regexreplace(regexreplace(A1, "^[^/]*//", ""), "/.*$", ""), "[^.]+\.[^.]+$") 

Шаг за шагом:

  1. Remove ^[^/]*//, это часть протокола URL-адреса, включая обе черты.
  2. Удалить /.*$, это все после первой косой черты, включая эту косую черту.
  3. Экстракт [^.]+\.[^.]+$, что это две последние группы не-точечных символов, разделенных точкой, например, example.com

 Смежные вопросы

  • Нет связанных вопросов^_^