Python разделить строку - PullRequest
1 голос
/ 20 ноября 2011

У меня есть такая строка:

 <td casd2" aasdeft" class="satyle3">
    <b><a asddidasd?ct=Peasds&amp;fasdaao=Monsdar
    &amp;pID=19635"...

Мне нужен 19635.

Кто-нибудь может мне помочь?

Ответы [ 3 ]

3 голосов
/ 20 ноября 2011

С учетом того, что мало информации, я подхожу к этому:

import re

someString = ... # your original string

m = re.search(r"pID=(\d+)", someString)
pid = m.group(1)
3 голосов
/ 20 ноября 2011

Я бы использовал регулярные выражения, чтобы сделать более аккуратное решение:

>>> import re
>>> s = '<td casd2" aasdeft" class="satyle3"><b><a asddidasd?ct=Peasds&amp;fasdaao=Monsdar&amp;pID=19635"...'
>>> match = re.search(".*pID=(\d+).*",s)
>>> if match:
...   match.group(1)
... 
'19635'

Приятно и просто, не правда ли?

1 голос
/ 25 ноября 2011

Если вы анализируете HTML / XML, лучше всего использовать правильный инструмент. Вы можете сделать работу быстро и грязно; но вернется, чтобы укусить вас, когда вы расширите позже (программное обеспечение, которое не устарело, всегда развивается), или вам придется обрабатывать другие формы представления тех же данных.

Beautiful Soup в python обеспечивает хорошие процедуры синтаксического анализа - его стоит пройти по кривой обучения.

...