Python Reemplazar \\ con \
Así que parece que no puedo entender esto ... Tengo una cadena que dice,"a\\nb"
y quiero que esto se convierta en"a\nb"
. He intentado todo lo siguiente y ninguno parece funcionar;
>>> a
'a\\nb'
>>> a.replace("\\","\")
File "<stdin>", line 1
a.replace("\\","\")
^
SyntaxError: EOL while scanning string literal
>>> a.replace("\\",r"\")
File "<stdin>", line 1
a.replace("\\",r"\")
^
SyntaxError: EOL while scanning string literal
>>> a.replace("\\",r"\\")
'a\\\\nb'
>>> a.replace("\\","\\")
'a\\nb'
Realmente no entiendo por qué funciona el último, porque esto funciona bien:
>>> a.replace("\\","%")
'a%nb'
¿Hay algo que me falta aquí?
EDITA Entiendo que \ es un personaje de escape. Lo que estoy tratando de hacer aquí es convertir todo\\n
\\t
etc. en\n
\t
etc. y reemplazar no parece estar funcionando de la forma que imaginé.
>>> a = "a\\nb"
>>> b = "a\nb"
>>> print a
a\nb
>>> print b
a
b
>>> a.replace("\\","\\")
'a\\nb'
>>> a.replace("\\\\","\\")
'a\\nb'
Quiero que la cadena a se parezca a la cadena b. Pero reemplazar no está reemplazando barras como pensé que lo haría.