2012-11-12 43 views
0

使用BeautifulSoup我需要從這樣的提取字符串「/ HTML /路徑」的字符串:查找在Python

generic/html/path/generic/generic/generic 

我只需要「路徑」,從那以後它總是來了「HTML /」。那麼有沒有一種方法可以搜索「html /」,並在它之後獲取字符串,直到「/」即將到來?

回答

6

一個又一個加進來:

In [1]: s = 'generic/html/path/generic/generic/generic' 

In [2]: s.split('html/')[1].split('/')[0] 
Out[2]: 'path' 
+2

+1最優雅 – goncalopp

+0

@goncalopp哈,謝謝:) – RocketDonkey

1

這只是基本的字符串操作

s="generic/html/path/generic/generic/generic" 
i1= s.index("html/") + 5 
i2= s.index("/", i1) 
print s[i1:i2] 
1

您可以使用正則表達式:

>>> regex = re.compile(".+html/(.+?)/") 
>>> r = regex.search("generic/html/path/generic/generic/generic") 
>>> r.groups() 
(u'path',) 

Python的DOC:http://docs.python.org/3.3/library/re.html

+1

這應該b e。「。+ html /(.+?)/」',「獲取後面的字符串,直到」/「即將到來。 – BrtH

+0

哦,他只想要'路徑'不是休息,謝謝,更新了帖子。感謝 – tbraun89

+0

,但是還有一種方法可以用beautifulsoup來做到這一點嗎? – Michael