为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

MM们 2019-09-06 12:06:11
如何解除反斜杠转义的字符串?假设我有一个字符串,它是另一个字符串的反斜杠转义版本。有没有一种简单的方法,在Python中,unescape字符串?例如,我可以这样做:>>> escaped_str = '"Hello,\\nworld!"'>>> raw_str = eval(escaped_str)>>> print raw_strHello,world!>>>但是,这涉及将(可能不受信任的)字符串传递给eval(),这是一个安全风险。标准库中是否有一个函数,它接受一个字符串并产生一个没有安全隐患的字符串?
查看完整描述

3 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-09-10
?
浮云间

TA贡献1829条经验 获得超4个赞

在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 directly

my_bytes = b"Hello,\\nworld"


print(my_bytes.decode("unicode_escape"))

# "Hello,

# world"



查看完整回答
反对 回复 2019-09-10
  • 3 回答
  • 0 关注
  • 735 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信