我正在嘗試查找 URL 串列的子字串,但由于其中一個 URL 末尾的額外字符(正斜杠)而遇到問題。下面是兩個資料示例:
編輯:
對于那里的最后一個示例,您將如何獲得“sub_test”?
SPLIT_PART可以使用負索引:WITH cte AS ( SELECT CONCAT('http://', COLUMN1) AS URL FROM VALUES ('www.url1.com/test'), ('www.url1.com/test2/'), ('www.url1.com/test/sub_test/') ) SELECT URL, PARSE_URL(URL) AS parts, PARSE_URL(URL):path::text AS path, SPLIT_PART(TRIM(PARSE_URL(URL):path::text, '/'), '/', -1) AS path3 FROM cte;輸出:

uj5u.com熱心網友回復:
您可以像這樣修剪最后的斜線:
select REGEXP_SUBSTR(trim(URL, '/'), '/([^/] )$', 1, 1, 'e', 1) as URL_EXTRACT如 Lukasz 所示,將 URL 決議為 JSON 將涵蓋更多可能性,但如果這是唯一需要糾正的問題,這對于大型資料集會更快。
uj5u.com熱心網友回復:
您可以使用 Positive Lookahead 執行此任務:
[^\/\n] (?=\/?$)解釋:
[^\/\n]:除斜杠和換行符以外的任何字符組合(您的匹配項)(?=\/?$):積極的前瞻(檢查你的比賽后是否有)\/?: 可選斜杠$: 結束字串
在這里試試。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/485677.html
