如何从python中的字符串中提取数字

时间:2013-01-31 14:17:50

标签: python regex django

我有一个来自db的字符串,例如:

"any string coming from db[090876]"

我想获取数字数据并使用它。在这种情况下,我只想要090876。我怎么能在Python / Django中做到这一点?我试过'重新'但没有运气。

2 个答案:

答案 0 :(得分:4)

In [74]: import re

In [75]: re.findall('\d+',"any string coming from db[090876]")
Out[75]: ['090876']

或仅在db之前的数字之间的数字才安全:

In [76]: re.findall('db\[(\d+)\]',"any string coming from db[090876]")
Out[76]: ['090876']

答案 1 :(得分:1)

x="any string coming from db[090876]"
word_ends=True
num_groups=[]
num=''
for i in x:

    try:
          int(i)
          num+=i
          word_ends=False

    except:

          if word_ends == False:
          num_groups.append(num)
          num=''
          word_ends=True