通过Google表格正则表达式提取根域

时间:2017-01-05 18:56:22

标签: regex google-sheets spreadsheet

我需要一个公式,它可以从头开始删除任何类型的URL,直到根(无论整个URL是什么结构),根目录后的所有内容都需要被剥离(包括尾随/

以下是我在其他主题中找到的两个公式:

公式1:

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

这会从根域中删除所有内容,但子域除外。

公式2:

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

除了https://之外,它会删除根域中的所有内容。

编辑:我已经把它弄得多了一点。公式2可以处理https://www.http://www.,但不能处理https:http:

以下是G表中公式示例的屏幕截图: formula

1 个答案:

答案 0 :(得分:0)

有很多方法,这里有一个相当简单的方法:

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

一步一步:

  1. 删除^[^/]*//,这是网址的协议部分,包括两个斜杠。
  2. 删除/.*$,这是第一个斜杠之后的所有内容,包括斜杠。
  3. 提取[^.]+\.[^.]+$,这是由点分隔的最后两组非点字符,例如example.com