所以我正在写程序,应检查我的字符串中的数字,并只返回字符串中的第一个数字(作为int)。
是否有一种方法可以检查字符串的数字?
如果是这样,我怎样才能确保它只返回第一个?
例如,此字符串“此字符串包含数字456但也包含5和34”应仅返回456。
答案 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])