gpt4 book ai didi

Python 正则表达式小时到分钟

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:18 24 4
gpt4 key购买 nike

我有一堆以小时为单位的字符串,我想将其转换为分钟

一些示例输入字符串:

50 hour
5 hrs
3 hours
5hrs
1hour

我正在尝试提出一些正则表达式来捕获所有这些并将整个事物转换为分钟值的整数

上面会变成:

3000
300
180
300
60

我不太熟悉正则表达式。我开始玩这样的东西:

re.sub(r'^\d+[a-z]', 'blah', string)

然而,这似乎并没有引起多少注意。只有一个数字后跟一个字母的情况。此外,我不确定如何实际转换为分钟

最佳答案

re.sub可以接受替换函数而不是替换字符串。该函数将与匹配对象一起调用,函数的返回值用作替换字符串。

>>> import re
>>>
>>> strings =[
... '50 hour',
... '5 hrs',
... '3 hours',
... '5hrs',
... '1hour',
... ]
>>>
>>> for original in strings:
... replaced = re.sub(r'(\d+)\s*(?:hours?\b|hrs?\b)',
... lambda m: str(int(m.group(1)) * 60),
... original)
... print('{} => {}'.format(original, replaced))
...
50 hour => 3000
5 hrs => 300
3 hours => 180
5hrs => 300
1hour => 60

关于Python 正则表达式小时到分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34305492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com