Loading

点滴 | 如何把 \\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'

参考

  1. escaping - How to replace a double backslash with a single backslash in python? - Stack Overflow
  2. codecs --- 编解码器注册和相关基类 — Python 3.12.4 文档
posted @ 2024-06-13 18:55  kingron  阅读(9)  评论(0编辑  收藏  举报