2011-08-29 113 views
0

我知道這很簡單,但我想要一個很好的方法。如何從URL字符串,如:如何從python中給定的URL中刪除前綴?

/en/something/123/foo/ 

得到

/something/123/foo/ 

這意味着,我想刪除第一級(前綴)。

+0

[這應該回答你的問題](http://stackoverflow.com/questions/1038824/python-strip-a-string) – maxm

回答

3

如果它總是三個字符長:

str = str[3:] 

如果它可以變長,只用字符串/列表操作:

str = '/' + '/'.join(str.split('/')[2:]) 

或者使用正則表達式:

import re 
str = re.sub('^/[a-z]*', '', str) 

我可能會使用最後一種方法。如果您需要做很多工作(例如循環),請考慮使用re.compile()編譯正則表達式以加快速度。在richardolsson的回答

+0

thx,但在第二個例子中應該是「2:」 – santino

+0

你是對的!有點快。 ;)編輯我的帖子。 – richardolsson

0

基礎上,我們可以利用的str.splitmaxsplit參數:

str = str.split("/", 2)[2] 

這隻拆分前兩個分離,並返回休息(第三列表項)不變。

相關問題