Find the ID, but how to select/copy the whole string by ID?

Francesco Guerrieri f.guerrieri at gmail.com
Wed Sep 19 11:10:09 EDT 2007


On 9/19/07, Carsten Haese <carsten at uniqsys.com> wrote:

> , then looking for id 12 is going to match on the wrong ID. Besides,
> that code only tells you where something that looks like the ID you're
> looking for is in the file. There is no guarantee that the match
> actually occurs inside an ID attribute. It also doesn't help in
> retrieving the text contents of the <str> tag that has this ID.
>
> If your input is an XML file, using an actual XML parser is the only
> correct solution.

You're perfectly right.
The code example was purposedly incomplete for this very reason.
It could be made less sensitive to false matches by constructing a
correct substring, something like

pattern = '<str id = ' + stringID + '>'

and then in the loop:

line.find(pattern)

but I agree that it would be wrong to proceed this way.
The motivation of my reply was more to suggest a better way to iterate
over a file than else... but since I've been confusing it probably
would have been better to avoid.

francesco



More information about the Python-list mailing list