我有一个这样的字符串:
<td casd2" aasdeft" class="satyle3">
<b><a asddidasd?ct=Peasds&fasdaao=Monsdar
&pID=19635"...
我需要19635。
有人可以帮助我吗?
答案 0 :(得分:3)
我会使用正则表达式来制作更整洁的解决方案:
>>> 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'
很好很简单不是吗?
答案 1 :(得分:3)
根据提供的信息很少,这就是我接近它的方式:
import re
someString = ... # your original string
m = re.search(r"pID=(\d+)", someString)
pid = m.group(1)
答案 2 :(得分:1)
如果要解析HTML / XML,最好使用正确的工具。重新完成工作可以快速而肮脏;但是当你稍后延伸时会回来咬你(没有死的软件总是在不断发展),或者你需要处理相同数据的其他形式的表示。
python中的Beautiful Soup提供了良好的解析例程 - 值得通过'学习曲线。