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

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

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

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

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

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


查看完整回答
反对 回复 2019-07-24
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

在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-07-24
  • 3 回答
  • 0 关注
  • 804 浏览
慕课专栏
更多

添加回答

举报

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