python去除字符串中的转义字符

我们在用python处理字符串的时候,难免会遇到被转义的情况。比如我们定义一个字典类型的变量:
data = {“datas”: ‘[{“name”: “菜鸟”}]’}
我们使用json的dumps方法将这个字典转为字符串,
res = json.dumps(data, ensure_ascii=False)
再打印这个res的时候会发现输出的字符串里包含有转义字符,即反斜杠\:
{“datas”: “[{\“name\”: \“菜鸟\”}]”}
这里有两种方法可以去除反斜杠,首先第一种比较简单暴力,直接:
data = res.replace("\\", “”)即可,但是各位在使用中要注意,处理之后的数据是否还能正常使用,因为当处理的数据量很大时,无法确定在其他地方反斜杠是否还有用处,所以这种方法适合数据量小,且没有特殊情况的问题使用。
第二种方法使用eval函数处理,即:
data = eval(res)
打印这个data,会发现{‘datas’: ‘[{“name”: “菜鸟”}]’}反斜杠没有了,原理是eval首先将res这个变量里的字符串引号剥去,然后得到的是一个字典,显然这个是不可以进行计算的,那么它就开始查找这个字典是否是一个变量,然后它一查找,找到了data,于是输出了data里的原始内容。
import json

data = {“datas”: ‘[{“name”: “菜鸟”}]’}
res = json.dumps(data, ensure_ascii=False)
print(res)
data = eval(res)
print(data)

希望对你有所帮助!

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值