检查我的字符串中的数字。蟒蛇

时间:2013-11-18 16:01:36

标签: python string for-loop numbers

所以我正在写程序,应检查我的字符串中的数字,并只返回字符串中的第一个数字(作为int)。
是否有一种方法可以检查字符串的数字?
如果是这样,我怎样才能确保它只返回第一个?

例如,此字符串“此字符串包含数字456但也包含5和34”应仅返回456。

3 个答案:

答案 0 :(得分:2)

使用正则表达式:

import re
s = "sdasdas 12313 dsada 9"
m = re.search(r'\d+', s)
print m.group()

如果您不想匹配包含数字的字词:

m = re.search(r'(?<!\d)\d+(?!\d)', s)

答案 1 :(得分:0)

def get_first_num(text):
    words = text.split()

    for word in words:
        if word.isdigit():
            return word


print get_first_num('This string contains numbers 456 but also 5 and 34')

将返回456

答案 2 :(得分:0)

希望它有所帮助...

s = "sdasdas 12313 dsada 9 dsgrdfgd"
for _ in s.split():
    if _.isdigit():
        print int(_[:1])