是否有Python模块可以解析原始字符串中的换行符表示法?

10 投票
1 回答
10373 浏览
提问于 2025-04-17 10:21

可能重复的问题:
在Python中处理字符串中的转义序列

假设我从一个网页表单中得到了这个字符串:

'\n test'

这里的 '\n' 表示换行,但它不会被当作换行来处理。我该怎么解析这个字符串,让它变成真正的换行呢?

当然,我可以手动使用 replacesplitre 等方法来处理。

不过,也许有现成的模块可以用,因为我不想每次都手动处理所有的 \某些东西 这种表示法。

我试着把它转换成字节,然后用 str 作为构造函数,但这样做并没有成功:

>>> str(io.BytesIO(ur'\n'.encode('utf-8')).read())
'\\n'

1 个回答

16

使用 .decode('string_escape')

>>> print "foo\\nbar\\n\\tbaz"
foo\nbar\n\tbaz
>>> print "foo\\nbar\\n\\tbaz".decode('string_escape')
foo
bar
        baz

在我输入代码的时候,上面的内容需要用反斜杠(\)来转义,这样字符串里才能包含这两个字符 \n

补充:其实这和 在Python中处理字符串里的转义序列 是重复的内容

撰写回答