[英]How to extract file name from URL?
我在 URL 中有文件名,想去掉前面的 URL 和文件路徑以及出現在?
嘗試使用 RegEx 拉取, CaptialForecasting_Datasheet.pdf
Google Data Studio 中的REGEXP_EXTRACT
似乎是獨一無二的。 嘗試了該建議,但不斷收到“無法解析”錯誤。 我能夠使用以下內容刪除 url 的第一部分。 Event Label
是我存儲下載的 PDF 的 URL 的地方。
網址:
https://www.dudesolutions.com/Portals/0/Documents/HC_Brochure_Digital.pdf?ver=2018-03-18-110927-033
REGEXP_EXTRACT( Event Label , 'Documents/([^&]+)' )
結果:
HC_Brochure_Digital.pdf?ver=2018-03-18-110927-033
現在試圖確定如何在?
版本數據在哪里,以便只提取Filename.pdf
。
你可以試試:
即使路徑中有問號,這也將匹配CaptialForecasting_Datasheet.pdf
。 例如,正則表達式在這兩種情況下都會成功:
https://www.dudesolutions.com/somepath/CaptialForecasting_Datasheet.pdf?ver
https://www.dudesolutions.com/somepath?/CaptialForecasting_Datasheet.pdf?ver
假設名稱緊跟在最后一個/
並以?
,下面的正則表達式會將名稱留在組 1 中,您可以在其中使用\\1
或您使用的任何工具支持來獲取它。
.*\/(.*)\?
它基本上是說:在最后一個/
和第一個之間獲取所有內容?
之后,將其放入第 1 組。
另一個只匹配您想要的文件名但更復雜的正則表達式是:
(?<=\/)[^\/]*(?=\?)
它匹配所有非/
字符, [^\\/]
,緊跟在/
, (?<=\\/)
之后緊跟?
, (?=\\?)
。 第一個括號是正向后視,括號中的第二個表達式是正向前瞻。
以下正則表達式將提取擴展名為.pdf
文件名
(?:[^\/][\d\w\.]+)(?<=(?:.pdf))
您可以添加更多這樣的擴展,
(?:[^\/][\d\w\.]+)(?<=(?:.pdf)|(?:.jpg))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.