如何提取输入的特定部分



首先,我正在制作某种计时器(你会知道我为什么这么说(。我有一个类,每个参数都以一个整数作为输入。现在,每当我要求用户输入一个值(例如,他们可以输入"3小时2分1秒"(时,我都想得到数字;但事实并非如此。问题是,我知道我该如何摆脱那些词,比如摆脱";小时";所以我可以只取这个数字(最终我必须将其转换为int(。有什么想法吗?希望我是清白的。

您只能使用正则表达式来匹配数字。使用re.findall()可以获得与给定正则表达式匹配的结果列表。

import re
user_input = '11hrs 2mins 1s'           # You can use `input()`
time = re.findall('d+', user_input)    # Find all results
time = [int(i) for i in time]           # Convert each of the numbers to digits
print(time)

这里,d表示任何数字,+表示出现一次以上。因此,使用findall()函数可以获得字符串中捕获的数字列表。

输出


[11, 2, 1]

相关内容

  • 没有找到相关文章

最新更新