在下面的字符串是如何的目錄媒體後得到的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
在下面的字符串是如何的目錄媒體後得到的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
如果字符串總是看你說話的方式,嘗試
ids = [int(s.split("/")[3]) for s in id_arr]
[x.split( '/')[3]在id_arr X]
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()刪除
>>> import re
>>> myre = re.compile("^.*/media/(\d+)")
>>> for item in id_arr:
... print (myre.search(item).group(1))
...
12
24
26
56
正確的方法可能涉及到一些巧妙地利用了os.path
模塊,但是對於給定的輸入時,僅使用正則表達式media\/([0-9]+)
並提取第一組。
也許使用`os.path.sep`而不是普通的`/`,以防萬一? – 2010-12-09 09:09:57
不確定這些是路徑還是URL的一部分。 – 2010-12-09 09:13:37