簡體   English   中英

BigQuery 提取兩個“.”之間的字符串

[英]BigQuery extract string between two "."

我有三種字符串類型:'en-ae.sssports.com'、'amazon.co.uk'、'farfetch.com'

我需要每個客戶端的名稱,即 Sssports、Amazon、Farfetch。

曾嘗試使用正則表達式 '(?:.)[^.]*(?:.)' 來提取兩個點之間的字符串,但我需要一個動態代碼來從所有三種 sting 類型中提取數據。

您可以嘗試以下查詢

SELECT INITCAP(RTRIM(NET.REG_DOMAIN(str), '.' || NET.PUBLIC_SUFFIX(str))) AS client_name
  FROM UNNEST(['en-ae.sssports.com','amazon.co.uk','farfetch.com']) str

查詢結果

+-------------+
| client_name |
+-------------+
| Sssports    |
| Amazon      |
| Farfetch    |
+-------------+

參考

將 URL 作為 STRING 並以 STRING 形式返回已注冊或可注冊的域(公共后綴加上一個前面的標簽)。

將 URL 作為 STRING 並返回公共后綴(例如 com、org 或 net)作為 STRING。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM