如何从字符串中提取数字到多个变量中?

2024-10-06 12:13:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着根据这个位置把这个字符串提取成数字。这是我的密码。在

string="The time is 12:30"
time = re.findall(
        "[0-9]?[0-9]?:[0-9][0-9]", string)
if time != []:
        T=time[0]
        Min=int(T[0:2])
        Sec=int(T[3:5])

我的代码需要灵活处理。例如,用户可以输入“:30”。那我的代码根本就不起作用了。在

我真的需要一种方法来提取“:”前面的数字,如果有,那么后面的数字。在

编辑:我已经有我需要和时间函数分开的数字了。我需要把这个字符串变成两个整数。在

例:2:40是数字。我要Min=2,Sec=40。但是Min可以是1-60之间的任何值,使用字符串就像列表不起作用一样


Tags: the字符串代码re密码stringiftime
2条回答

听起来你想做的是:

string="The time is 12:30"
time = re.findall("[0-9]?[0-9]?:[0-9][0-9]", string)
minutes, secs = time[0].strip().split(':')
print minutes, secs

在冒号(:)字符上拆分结果字符串,而不是使用硬编码的指示符

>>> m, s = time[0].split(':')
>>> Min = int(m) if m != '' else 0
>>> Sec = int(s)

注意,不能将空字符串''转换为整数,因此minutes转换检查这种情况并将Min设置为0。在

编辑

您也可以使用括号来匹配正则表达式中的组(注意\d是“digit”的快捷方式):

^{pr2}$

相关问题 更多 >