【发布时间】:2021-10-27 18:25:48
【问题描述】:
我需要一些帮助。
我有这样的动态字符串:
S31
S4
S2M1L10XL8
S1M2L0XL0
S0M5L6XL8
并需要将其更改为键值,例如:
{“S”:31}
{"S":4}
{"S":2, "M":1, "L":10, "XL":8}
{"S":1, "M":2, "L":0, "XL":0}
{"S":0, "M":5, "L":6, "XL":8}
我试试
new_string = re.findall('(\d+|[A-Za-z]+)', string)
但找不到锄头来解决
【问题讨论】:
-
您的 re.findall 可以帮助您完成大部分工作。现在只需迭代对 (see here) 并从中制作字典。
-
([A-Z]+)(\d+)可能是您要开始使用的正则表达式。这将返回类似[('S', '0'), ('M', '5'), ('L', '6'), ('XL', '8')]的内容,然后您可以将其转换为字典(并将字符串解析为数字)。