You may also want to look at this stream editor: http://cheeseshop.python.org/pypi/SE/2.2%20beta
It allows multiple replacements in a definition format of utmost simplicity: >>> your_example = ''' <div><p><em>"Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. "</em></p> <p>-- Peter Norvig, <a class="reference" ''' >>> import SE >>> Tag_Stripper = SE.SE (''' "~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing) "~<!--(.|\n)*?-->~=" # This pattern deletes comments entirely even if they nest tags ''') >>> print Tag_Stripper (your_example) "Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. " -- Peter Norvig, <a class="reference" Now you see a tag fragment. So you add another deletion to the Tag_Stripper (***): Tag_Stripper = SE.SE (''' "~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing) "~<!--(.|\n)*?-->~=" # This pattern deletes commentsentirely even if they nest tags "<a class\="reference"=" # *** This deletes the fragment # "-- Peter Norvig, <a class\="reference"=" # Or like this if Peter Norvig has to go too ''') >>> print Tag_Stripper (your_example) "Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. " -- Peter Norvig, " you can either translate or delete: Tag_Stripper = SE.SE (''' "~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing) "~<!--(.|\n)*?-->~=" # This pattern deletes commentsentirely even if they nest tags "<a class\="reference"=" # This deletes the fragment # "-- Peter Norvig, <a class=\\"reference\\"=" # Or like this if Peter Norvig has to go too htm2iso.se # This is a file (contained in the SE package that translates all ampersand codes. # Naming the file is all you need to do to include the replacements which it defines. ''') >>> print Tag_Stripper (your_example) 'Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. ' -- Peter Norvig, If instead of "htm2iso.se" you write ""=" you delete it and your output will be: Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. -- Peter Norvig, Your Tag_Stripper also does files: >>> print Tag_Stripper ('my_file.htm', 'my_file_without_tags') 'my_file_without_tags' A stream editor is not a substitute for a parser. It does handle more economically simple translation jobs like this one where a parser does a lot of work which you don't need. Regards Frederic ----- Original Message ----- From: "DH" <[EMAIL PROTECTED]> Newsgroups: comp.lang.python To: <python-list@python.org> Sent: Thursday, August 24, 2006 7:41 PM Subject: Re: Taking data from a text file to parse html page > I found this > http://groups.google.com/group/comp.lang.python/browse_thread/thread/d1bda6ebcfb060f9/ad0ac6b1ac8cff51?lnk=gst&q=replace+text+file&r num=8#ad0ac6b1ac8cff51 > > Credit Jeremy Moles > ----------------------------------------------- > > finds = ("{", "}", "(", ")") > lines = file("foo.txt", "r").readlines() > > for line in lines: > for find in finds: > if find in line: > line.replace(find, "") > > print lines > > ----------------------------------------------- > > I want something like > ----------------------------------------------- > > finds = file("replace.txt") > lines = file("foo.txt", "r").readlines() > > for line in lines: > for find in finds: > if find in line: > line.replace(find, "") > > print lines > > ----------------------------------------------- > > > > Fredrik Lundh wrote: > > DH wrote: > > > > > I have a plain text file containing the html and words that I want > > > removed(keywords) from the html file, after processing the html file it > > > would save it as a plain text file. > > > > > > So the program would import the keywords, remove them from the html > > > file and save the html file as something.txt. > > > > > > I would post the data but it's secret. I can post an example: > > > > > > index.html (html page) > > > > > > " > > > <div><p><em>"Python has been an important part of Google since the > > > beginning, and remains so as the system grows and evolves. > > > "</em></p> > > > <p>-- Peter Norvig, <a class="reference" > > > " > > > > > > replace.txt (keywords) > > > " > > > <div id="quote" class="homepage-box"> > > > > > > <div><p><em>" > > > > > > "</em></p> > > > > > > <p>-- Peter Norvig, <a class="reference" > > > > > > " > > > > > > something.txt(file after editing) > > > > > > " > > > > > > Python has been an important part of Google since the beginning, and > > > remains so as the system grows and evolves. > > > " > > > > reading and writing files is described in the tutorial; see > > > > http://pytut.infogami.com/node9.html > > > > (scroll down to "Reading and Writing Files") > > > > to do the replacement, you can use repeated calls to the "replace" method > > > > http://pyref.infogami.com/str.replace > > > > but that may cause problems if the replacement text contains things that > > should be replaced. for an efficient way to do a "parallel" replace, see: > > > > http://effbot.org/zone/python-replace.htm#multiple > > > > > > </F> > > -- > http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list