如果我收到此字符串,例如来自网络表单:
'\n test'
'\n'
表示法不会被解释为换行符。我如何解析这个字符串,使其成为换行符?
当然,我可以使用replace
,split
,re
等手动执行此操作。
但也许有一个模块,因为我不想被迫手动处理所有\something
符号。
我尝试将其转换为字节,然后使用str
作为构造,但这不起作用:
>>> str(io.BytesIO(ur'\n'.encode('utf-8')).read())
'\\n'
答案 0 :(得分:14)
使用.decode('string_escape')
>>> print "foo\\nbar\\n\\tbaz"
foo\nbar\n\tbaz
>>> print "foo\\nbar\\n\\tbaz".decode('string_escape')
foo
bar
baz
当我输入代码时,上面必须转义\以使字符串包含2个字符\ n
的副本