点滴 | 如何把 \\t 转换为 \t (制表符)
问题
如何把字符串 \\t
转为 \t
,也即去掉多余的反斜杠,将两个反斜杠转为一个反斜杠?
解决方案
如果只需要转换明确、已知且为数不多的字符,可以使用 str.replace
方法:
>>> '\\t'.replace('\\t', '\t')
'\t'
如果需要处理 \\t
,\\n
,\\r
等这样的字符,可以使用 escape_unicode
的解码方式,将字符串再次解码:
>>> '\\t\\n'.encode().decode('unicode_escape')
'\t\n'
扩展
如果想要把 \n
转换为 \\n
怎么办?可以这样处理:
>>> '\t\n'.encode('unicode_escape').decode()
'\\t\\n'