From: Chris Rebert on 19 May 2010 23:42 On Wed, May 19, 2010 at 8:34 PM, <python(a)bdurham.com> wrote: > How can I unescape a raw string so that it behaves as a non-raw string? That's not what the notion of raw strings in Python technically means, but anyway... > For example, if I read the string "\n\t A B C\" D E F \xa0 \u1234" I'll assume you're quoting the file contents itself verbatim here, rather than a Python string literal (which would require doubling up on the backslashes). > from a > text file, how can I convert (unescape?) this string so that \n, \t, \", \x, > and \u get converted to a newline, tab, double quote, hex encoded and > unicode encoded chars? > > I know I can do this explictly via a series of .replace() methods, but > certainly there must be a built-in way to do this on a generic basis? new_string = your_string.decode('string_escape') Cheers, Chris -- http://blog.rebertia.com
From: python on 20 May 2010 00:13 Hi Chris, > That's not what the notion of raw strings in Python technically means, but anyway... Agree - I was having a difficult time trying to describe my dilemma - thanks for hanging in there with my rather awkward intro :) > I'll assume you're quoting the file contents itself verbatim here, rather than a Python string literal (which would require doubling up on the backslashes). Yes. > new_string = your_string.decode('string_escape') That's just the clue I needed. The actual decoder I needed turned out to be 'unicode_escape' because of my embedded \uxxxx markup. new_string = your_string.decode('unicode_escape') Thank you for your help Chris! Regards, Malcolm
|
Pages: 1 Prev: links button gone from python.org Next: intervall of about 1 second for xmlrpc calls? |