我有一個這樣的字符串:Python的分割字符串
<td casd2" aasdeft" class="satyle3">
<b><a asddidasd?ct=Peasds&fasdaao=Monsdar
&pID=19635"...
我需要19635.
有人能幫助我嗎?
我有一個這樣的字符串:Python的分割字符串
<td casd2" aasdeft" class="satyle3">
<b><a asddidasd?ct=Peasds&fasdaao=Monsdar
&pID=19635"...
我需要19635.
有人能幫助我嗎?
我會用正則表達式來進行更巧妙的解決辦法:
>>> import re
>>> s = '<td casd2" aasdeft" class="satyle3"><b><a asddidasd?ct=Peasds&fasdaao=Monsdar&pID=19635"...'
>>> match = re.search(".*pID=(\d+).*",s)
>>> if match:
... match.group(1)
...
'19635'
尼斯和簡單,不是嗎?
我想're.search'會更好,更簡單。在這種情況下 – loudandclear
沒有太大的區別,但你是對的。編輯! – juliomalegria
match.group(1) AttributeError:'NoneType'對象沒有屬性'group' –
按照給定的僅有的一些資料,這是我想接近它:
import re
someString = ... # your original string
m = re.search(r"pID=(\d+)", someString)
pid = m.group(1)
如果您解析HTML/XML,最好使用合適的工具。 re可以快速而骯髒地完成工作;但是當你稍後擴展(沒有死的軟件總是會發展的)時,會回來咬你,或者你需要處理其他形式的相同數據的表示。
Beautiful Soup在python中提供了很好的解析例程 - 值得通過學習曲線。
是來自HTML文檔的字符串嗎?它看起來幾乎像HTML一樣。 –
與此有關嗎? –
是的,我認爲是這樣的:如果它是html,那麼除了正則表達式外,你可以(實際上,我甚至會說你應該)使用解析器。 –