【问题标题】:Grab the values from url that is in between specific characters BigQuery从特定字符 BigQuery 之间的 url 中获取值
【发布时间】:2021-07-09 12:47:01
【问题描述】:

我需要解析 url 以获取 .com/ 和下一个 / 字符之前的值。我的数据如下所示:

url
https://www.delish.com/food-news/news/jdhgkjdf/100-years-of-christmas
https://www.delish.com/food-news/news/100-years-of-christmas

想要的输出是:

new_string
food-news
food-news

我尝试了以下方法:

SPLIT(url, '/')[SAFE_OFFSET(ARRAY_LENGTH(SPLIT(url, '/')) - 4)] AS new string

但是由于 URL 不一致,有时它会抓取food_news,有时它会抓取www.delish.com,这就是为什么在这种特殊情况下偏移不起作用的原因。

【问题讨论】:

    标签: parsing url google-bigquery urlparse


    【解决方案1】:

    在下面使用

    regexp_extract(url, net.host(url) || r'/([^/]+)')
    

    【讨论】:

      【解决方案2】:

      SPLIT(url, '/')[SAFE_OFFSET(ARRAY_LENGTH(SPLIT(b.page_link, '.com/')) +1)] AS new_string

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多