Confusion with string.replace()
Paul Winkler
slinkp23 at yahoo.com
Fri Oct 26 12:36:08 EDT 2001
More information about the Python-list mailing list
Fri Oct 26 12:36:08 EDT 2001
- Previous message (by thread): Confusion with string.replace()
- Next message (by thread): Confusion with string.replace()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Fri, 26 Oct 2001 08:39:00 -0700, Joseph Wilhelm <jwilhelm at outsourcefinancial.com> wrote: >I'm getting some really strange behaviour from string.replace(), and >I was wondering if somebody could help explain this to me. All I'm >trying to do is escape single quotes in a string for a SQL query, but >here's an example of what I'm getting: >>>> import string >>>> a = "a'b" >>>> b = string.replace( a, "'", "\'" ) >>>> b >"a'b" When you examine a string this way at the interactive prompt, python will show you the escape sequences (if necessary) in the string so you can tell what exactly it's made of. When you see "a\\'b", that's what you wanted: a literal backslash followed by a single quote, and python is telling you so, but not in the way that you expected. Consider this: >>> "hello\t" 'hello\tworld' >>> print "hello\tworld" hello world >>> "\'" # escaped single quote - evaluates to single quote "'" >>> print "\'" ' >>> "\\'" # escaped backslash - evaluates to literal backslash "\\'" >>> print "\\'" \' -- Paul Winkler
- Previous message (by thread): Confusion with string.replace()
- Next message (by thread): Confusion with string.replace()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list