2010-12-09 62 views
0

在下面的字符串是如何的目錄媒體後得到的ID和獲取ID忽略字符串的其餘部分爲只讀ID號Python字符串的提取

id_arr= ["/opt/media/12/htmls","/opt/media/24/htmls","/opt/media/26/htmls","/opt/media/56/htmls"] 

後輸出應該是12 24 26 56

回答

3

如果字符串總是看你說話的方式,嘗試

ids = [int(s.split("/")[3]) for s in id_arr] 
+1

也許使用`os.path.sep`而不是普通的`/`,以防萬一? – 2010-12-09 09:09:57

+0

不確定這些是路徑還是URL的一部分。 – 2010-12-09 09:13:37

0

[x.split( '/')[3]在id_arr X]

0
parts = "/opt/media/12/htmls","/opt/media/24/htmls","/opt/media/26/htmls","/opt/media/56/htmls" 
for str in parts: 
    print str.split("/")[3] 

編輯:無用rpartition()刪除

3
>>> import re 
>>> myre = re.compile("^.*/media/(\d+)") 
>>> for item in id_arr: 
...  print (myre.search(item).group(1)) 
... 
12 
24 
26 
56 
0

正確的方法可能涉及到一些巧妙地利用了os.path模塊,但是對於給定的輸入時,僅使用正則表達式media\/([0-9]+)並提取第一組。