我有例如URL:提取URL的一部分 - 蟒蛇
http://name.abc.wxyz:1234/Assts/asset.epx?id=F3F94D94-7232-4FA2-98EF-07sdfssfdsa3B5
從這個網址我想只提取「asset.epx?id=F3F94D94-7232-4FA2-98EF-07sdfssfdsa3B5
」我怎麼能做到這一點?
我仍然在學習正則表達式,我不能夠解決以上。任何建議,將不勝感激。
我有例如URL:提取URL的一部分 - 蟒蛇
http://name.abc.wxyz:1234/Assts/asset.epx?id=F3F94D94-7232-4FA2-98EF-07sdfssfdsa3B5
從這個網址我想只提取「asset.epx?id=F3F94D94-7232-4FA2-98EF-07sdfssfdsa3B5
」我怎麼能做到這一點?
我仍然在學習正則表達式,我不能夠解決以上。任何建議,將不勝感激。
你並不真的需要這樣的正則表達式。剛剛拆分字符串:
url.split('/')[-1]
爲什麼這會降低投票率?這是一個完全可以接受的答案 – TerryA
@是它是...我用了以下,它的工作原理! –
@Blender如果我不得不從中提取唯一的id,例如'F3F94D94-7232-4FA2-98EF-07sdfssfdsa3B5'。我是否通過正則表達式來實現它? –
您可以使用urlparse
假設asset.epx
是一樣的:
>>> import urlparse
>>> url = 'http://name.abc.wxyz:1234/Assts/asset.epx?id=F3F94D94-7232-4FA2-98EF-07sdfssfdsa3B5'
>>> res = urlparse.urlparse(url)
>>> print 'asset.epx?'+res.query
asset.epx?id=F3F94D94-7232-4FA2-98EF-07sdfssfdsa3B5
如果你需要從URL等信息,這非常有用(您可以print res
檢查出的其他如果你使用的是Python 3雖然,你就必須做from urllib.parse import urlparse
))
;信息就可以得到。
根據Python的版本,您需要Python 2.x(http://docs.python.org/2/library/urlparse.html)中的urlparse
或Python 3.x(http://docs.python.org/2/library/urlparse.html)中的urllib.parse
。在Python 3(所有我可以),下面的代碼片段實現了你所需要的,而不訴諸正則表達式:
import urllib.parse
address = "http://name.abc.wxyz:1234/Assts/asset.epx?id=F3F94D94-7232-4FA2-98EF-07sdfssfdsa3B5"
parsed = urllib.parse.urlsplit(address)
print("{}?{}".format(parsed.path.split("/")[-1], parsed.query)
輸出爲「?asset.epx ID = F3F94D94-7232-4FA2-98EF-07sdfssfdsa3B5」這裏。
謝謝大家! –
@SangameshHs如果Brett的答案是解決了你的問題,並且這篇文章到達了你,你應該接受投票回答你的問題。這是StackOverflow的方式:] – jdero
@jdero Brett的答案是100%正確的,但攪拌機第一回答了這個問題,當我點擊接受的答案它saysi必須等待5分鐘,接受了答案。所以,現在我做到了!歡呼聲 –
只爲這個網址或其他人? – zhangyangyu
'asset.epx'總是一樣嗎? – TerryA
@Haidro根據我擁有的數據總是相同的!但我認爲解決了這個問題..謝謝你的時間! –