Asked By – dln385
Sometimes when I get input from a file or the user, I get a string with escape sequences in it. I would like to process the escape sequences in the same way that Python processes escape sequences in string literals.
For example, let’s say
myString is defined as:
>>> myString = "spam\\neggs" >>> print(myString) spam\neggs
I want a function (I’ll call it
process) that does this:
>>> print(process(myString)) spam eggs
It’s important that the function can process all of the escape sequences in Python (listed in a table in the link above).
Does Python have a function to do this?
Now we will see solution for issue: Process escape sequences in a string in Python
The correct thing to do is use the ‘string-escape’ code to decode the string.
>>> myString = "spam\\neggs" >>> decoded_string = bytes(myString, "utf-8").decode("unicode_escape") # python3 >>> decoded_string = myString.decode('string_escape') # python2 >>> print(decoded_string) spam eggs
Don’t use the AST or eval. Using the string codecs is much safer.
This question is answered By – Jerub
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0