Gotcha in replace
timr at probo.com
Tue Jul 10 08:03:37 CEST 2001
Tom Jenkins <tjenkins at devis.com> wrote:
>While I was working on some database scripting, I got bit by this
>behavior in replace.
> >>> y = "insert into blah values ('hello','','','','bye')"
> >>> y.replace(",'',", ",' ',")
>"insert into blah values ('hello',' ','',' ','bye')"
>Notice that the second matching set of ",''," characters are not
>replaced probably because the first and second matching sets overlap on
>the last and first character, respectively.
>Is this known behavior and I just missed it; or is this a bug in replace?
It is known behavior. The behavior makes more sense when you consider the
implementation of "replace"; it is essentially implemented as "split"
followed by "join":
- Tim Roberts, timr at probo.com
Providenza & Boekelheide, Inc.
More information about the Python-list