如何拆分字符串中的数字?

时间:2013-06-22 07:29:44

标签: python split

例如:

je = ("3,5&6,7")

我想要的结果是[3,5,6,7]

到目前为止我尝试过:

je = ("3,5&6,7")
jean = je.split(",")
j = str(jean)
De = j.split("&")
print De

但我的结果是[“['3','5”,“6','7']”]

2 个答案:

答案 0 :(得分:6)

使用regex

In [3]: import re

In [4]: strs = "3,5&6,7"
#map
In [5]: map(int, re.findall(r'\d+',strs))
Out[5]: [3, 5, 6, 7]
#LC
In [6]: [int(x) for x in  re.findall(r'\d+',strs)]
Out[6]: [3, 5, 6, 7]

答案 1 :(得分:1)

您可以将replace()ast.literal_eval一起使用:

>>> import ast
>>> je = ("3,5&6,7")
>>> ast.literal_eval(je.replace('&', ','))
(3, 5, 6, 7)

或者如果你真的需要一个清单:

>>> ast.literal_eval('['+je.replace('&', ',')+']')
[3, 5, 6, 7]