Question

I have a string like this:

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

I need the 19635.

Someone can help me ?

Was it helpful?

Solution

I would use regular expressions to make a more neat solution:

>>> 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'

Nice and simple isn't it?

OTHER TIPS

With what little information given, this is how I'd approach it:

import re

someString = ... # your original string

m = re.search(r"pID=(\d+)", someString)
pid = m.group(1)

If you are parsing HTML/XML, it's best to use the right tool. re can get the job done quick and dirty; but will come back to bite you when you extend later (software that is not dead always evolves) or you need to handle other forms of representation of the same data.

Beautiful Soup in python provides good parsing routines -- it's worth going thru' the learning curve.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top