trouble with replace

Simon Forman rogue_pedro at yahoo.com
Sat Aug 12 13:53:32 EDT 2006


f pemberton wrote:
> Marc 'BlackJack' Rintsch wrote:
> > In <1155401390.926925.252000 at m79g2000cwm.googlegroups.com>, f pemberton
> > wrote:
> >
> > > I've tried using replace but its not working for me.
> > > xdata.replace('abcdef', 'highway')
> > > xdata.replace('defgef', 'news')
> > > xdata.replace('effwer', 'monitor')
> >
> > `replace()` does not work in place.  You have to bind the result to a name
> > like::
> >
> >   xdata = xdata.replace('abcdef', 'highway')
> >
> > Ciao,
> > 	Marc 'BlackJack' Rintsch
>
> lol, you probably will not believe me but I actually knew that already.
>  I just forgot to add that part in my original post. When I try and
> replace what happens is the first replace works fine but when I try and
> do a second replace on a different part of the same string, the program
> will print the string a second time(which I do not want).

Um, don't print the string until after you're done replacing?  :-)

Seriously though, since there are no print statements, etc.., in your
posted code, it's hard to understand exactly what your problem is.

> How can you
> do 2 or more replaces in one line of code?

In any event, there is a neat method of "single-pass multiple string
substitution using a dictionary" here:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/81330  It uses
a regular expression, so I'd guess it wouldn't be to hard to get it to
work in multiline mode.

Peace,
~Simon




More information about the Python-list mailing list