Python Divide a string
Pergunta
I have a string like this:
<td casd2" aasdeft" class="satyle3">
<b><a asddidasd?ct=Peasds&fasdaao=Monsdar
&pID=19635"...
I need the 19635.
Someone can help me ?
Solução
I would use regular expressions to make a more neat solution:
>>> 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'
Nice and simple isn't it?
Outras dicas
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.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow