【发布时间】:2019-10-29 07:10:44
【问题描述】:
与其他一些想将 URL 转换为根域的问题不同(例如,https://www.example.com/foo 到 example.com)...
我想保留协议和子域(TLD 后面的单斜杠之前的所有内容,如果有的话)。
例如。 https://www.example.com/foo 到 https://www.example.com
我试过了,结果很奇怪(哈哈)!
=REGEXEXTRACT(C2,"(https?:\/\/(www.)?[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+)\/")
它可以工作,有点,但是看看会发生什么!它会在下一列中插入数据(嗯??)。更疯狂的是,当我删除数据时,它会破坏公式!我做错了什么。
这是我的测试表:https://docs.google.com/spreadsheets/d/1axNd6WZJnGIC8Ydyir58twrIhRhb-p1npNeg3SHfDBg/edit#gid=0
【问题讨论】:
-
也许尝试为
www.使用非捕获组,例如https?:\/\/(?:www.)?[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+)\/ -
每个捕获组的一列值,这是预期的。你可以使用
=REGEXEXTRACT(C2,"https?://[^/]*") -
感谢维克托。你能解释一下这部分正则表达式是如何工作的吗?
[^/]*谢谢!
标签: arrays regex google-sheets google-sheets-formula array-formulas