如何从Python中的字符串中提取数字?

How do I extract a number from a string in Python?

本问题已经有最佳答案,请猛点这里访问。

我有下面的python字符串。

1
"My number is 5"

我如何检查一个字符串是否包含一个数字,然后提取它,从而给出字符串"5"?

编辑:通过使用re模块,我现在得到结果[u,'5']。我怎样才能从这个结果中得到5号呢?


您需要使用regex:

1
2
import re
my_num = re.findall("\d+","my number is 5")

\d+匹配1次或多次出现[0-9]

演示从0-20中提取数字:

1
2
3
4
>>> a ="my string may 0-20, but how to remove number like 30,22 etc"
>>> my_num = re.findall('\d+',a)
>>> [int(x) for x in my_num if int(x)<=20]
[0, 20]