首頁  >  問答  >  主體

mysql - 用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:"";}}

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

高洛峰高洛峰2742 天前1034

全部回覆(4)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:15:59

    這不是PHP序列化後的結果嗎? python用正規表示式最好了

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:15:59

    用正規表示式吧, 符合前面出現 "s:12:" 後面引號的字串。

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

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 17:15:59

    不建議你使用與正規來提取,對於規整的數據,最好的方式就是使用相應的解析格式,這是json,推薦你直接使用json 來解析,當然,如果你有需要。可以直接使用提取中文就可以了。

    ^[u4E00-u9FA5]+$

    回覆
    0
  • 迷茫

    迷茫2017-04-17 17:15:59

    這是PHP變數的序列化,在Python中有一個第三方模組叫做phpserialize ,可以將其與Python的資料型別轉換。具體的教學可以看這裡:
    Python使用PHP序列化的資料

    可以的話,請自己提取。好嗎?

    回覆
    0
  • 取消回覆