请问如何解除反斜杠转义的字符串?

如何解除反斜杠转义的字符串?

假设我有一个字符串,它是另一个字符串的反斜杠转义版本。有没有一种简单的方法,在Python中,unescape字符串?例如,我可以这样做:

>>> escaped_str = '"Hello,\\nworld!"'>>> raw_str = eval(escaped_str)>>> print raw_strHello,world!>>>

但是,这涉及将(可能不受信任的)字符串传递给eval(),这是一个安全风险。标准库中是否有一个函数,它接受一个字符串并产生一个没有安全隐患的字符串?


MM们
浏览 736回答 3
3回答

收到一只叮咚

>>> print '"Hello,\\nworld!"'.decode('string_escape')"Hello, world!"

浮云间

在python 3中,str对象没有decode方法,你必须使用一个bytes对象。ChristopheD的答案涵盖了python 2。# create a `bytes` object from a `str`my_str = "Hello,\\nworld"# (pick an encoding suitable for your str, e.g. 'latin1')my_bytes = my_str.encode("utf-8")# or directlymy_bytes = b"Hello,\\nworld"print(my_bytes.decode("unicode_escape"))# "Hello,# world"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python