BigQuery SQL在第3次出现之前提取字符串

时间:2018-02-01 08:59:31

标签: sql google-bigquery

我有一个BQ表,其中包含一列中的URL。但是,我想只提取域名。

例如,我有以下字符串

http://u.example.com/g/foo
http://www.exmple.com/g/bar

我希望在第三次出现之前提取所有内容' /' 输出如下所示:

http://u.example.com
http://www.example.com

非常感谢

1 个答案:

答案 0 :(得分:1)

尝试使用REGEXP_EXTRACT

SELECT
    REGEXP_EXTRACT(col, '^(http://[^/]+)') AS url_fragment
FROM yourTable;

涵盖不同网址的更一般模式可能是:

SELECT
    REGEXP_EXTRACT(col, '^(\w+://[^/]+)') AS url_fragment
FROM yourTable;