【问题标题】:Extract root domain by a Google Sheets regex [duplicate]通过 Google 表格正则表达式提取根域 [重复]
【发布时间】:2017-01-05 18:56:22
【问题描述】:

我需要一个公式,它可以从头到根删除任何类型的 URL(无论整个 URL 是什么结构),并且根之后的所有内容也需要被删除(包括尾随的 /)。

这是我在其他帖子中找到的两个公式:


一级方程式:

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

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


公式 2:

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

这会从根域中删除所有内容,https:// 除外。


编辑:我一直在搞砸它。公式 2 可以处理 https://www.http://www. 但不能处理 https:http:

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

【问题讨论】:

  • 谢谢,完美运行。是否有公式可以将工作表 1 中的单元格值与第二张工作表中整行的值进行比较?那么,如果工作表 1 中的单元格值与工作表 2 中的值匹配,是否会在原始单元格中添加背景颜色?
  • 问题与本帖无关,所以我创建了一个新问题:stackoverflow.com/questions/41508390/…

标签: regex google-sheets spreadsheet


【解决方案1】:

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

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

一步一步:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-09-27
  • 1970-01-01
  • 1970-01-01
  • 2014-11-11
  • 1970-01-01
  • 2018-11-16
  • 2014-10-31
  • 1970-01-01
相关资源
最近更新 更多