首页 > 用Python怎么在一个字符串里面取到想要的数据?

用Python怎么在一个字符串里面取到想要的数据?

从数据库中提取到一个字符串。
a:2:{i:27;a:6:{s:3:"did";i:27;s:3:"num";i:1;s:8:"discount";s:1:"0";s:5:"price";s:2:"40";s:4:"name";s:12:"芒果雪冰";s:5:"omark";s:0:"";}i:36;a:6:{s:3:"did";i:36;s:3:"num";i:1;s:8:"discount";s:1:"0";s:5:"price";s:2:"40";s:4:"name";s:12:"抹茶雪冰";s:5:"omark";s:0:"";}}

现在要取出其中的“芒果雪冰”跟“抹茶雪冰”,用什么方法呢。。


用正则表达式吧, 匹配前面出现 "s:12:" 后面引号的字符串。

import re
match_list = re.findall('(?<=s\:12\:)\".+?\"', s1)

这不是PHP序列化后的结果吗?python用正则表达式最好了


不推荐你使用与正则来提取,对于规整的数据,最好的方式就是使用相应的解析格式,这是json,推荐你直接使用json 来解析,当然,如果你有需要。可以直接使用提取中文就可以了。

^[\u4E00-\u9FA5]+$


这是PHP变量的序列化,在Python中有一个第三方模块叫做phpserialize ,可以将其与Python的数据类型进行转换。具体的教程可以看这里:
Python使用PHP序列化的数据

可以的话,请自己提取。好吗?

【热门文章】
【热门文章】