不想当小白
2020-02-23 11:39
采纳率: 38.9%
浏览 195
已采纳

字符串、正则表达式匹配问题

有一个字符串如下:

b'{"ret":-1,"msg":"\\u9a8c\\u8bc1\\u7801\\u8f93\\u5165\\u9519\\u8bef"}'

现在想要提取出来其中的

\\u9a8c\\u8bc1\\u7801\\u8f93\\u5165\\u9519\\u8bef

怎么才能方便的提取出来呢?转化成字典还是直接用正则呢?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2020-02-23 12:14
    已采纳
    import re
    
    string = b'{"ret":-1,"msg":"\\u9a8c\\u8bc1\\u7801\\u8f93\\u5165\\u9519\\u8bef"}'.decode('utf-8')
    result = re.search(r'(?<=msg\"\:\")(\\u[a-f\d]{4})+', string).group()
    print(result)
    

    \u9a8c\u8bc1\u7801\u8f93\u5165\u9519\u8bef

    问题解决的话,请点采纳

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 失迹丶 2020-02-23 12:08

    \uXXXX是Unicode编码后的字符,这里有两个\估计是为了转义,你把全部双反斜杠改为单反斜杠\,然后去找个在线Unicode解码工具复制进去解码就能看到正文了

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题