我有一个这样的字符串: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,那么除了正则表达式外,你可以(实际上,我甚至会说你应该)使用解析器。 –