import re
txt='PD2T5H25M'
re1='.*?' # Non-greedy match on filler
re2='(D)' # Single Character D
re3='(\\d+)' # Integer Number 1
re4='.*?' # Non-greedy match on filler
re5='(\\d+)' # Integer Number 2
re6='(H)' # Single Character H
re7='(\\d+)' # Integer Number 3
re8='(M)' # Single Character M
rg = re.compile(re1+re2+re3+re4+re5+re6+re7+re8,re.IGNORECASE|re.DOTALL)
m = rg.search(txt)
if m:
w1 = m.group(1)
int1 = int(m.group(2))
int2 = int(m.group(3))
w2 = m.group(4)
int3 = int(m.group(5))
w3 = m.group(6)
print((int1*24*60) + (int2*60) + int3)
所以,经过一番挖掘,供以后其他人参考,下面是发生的事情。你知道吗
我发现写这封信的那个非常聪明的人已经完成了所有的艰苦工作。你知道吗
如果您从Alexa传入一个时段类型duration,您可以使用'timedelta'选项来转换它:如下所示:
是的。 . . (写日志是我自己的功能,因此我可以跟踪任何错误,并对意图和话语进行微调,使其更加灵活)
“Alexa ask convert-4天7小时22分钟等于多少分钟”
她回答。。。。。。你知道吗
“那是6202分钟”
它似乎不能在数年、数周、数小时的时间里100%地工作,但它足以让我提升一些家庭自动化区域……因此,现在我将用“duration”替换我的int插槽类型,而且它的灵活性要大得多……谢谢你
干杯
您可以使用regex,下面是一个处理特定情况的简单示例:
相关问题 更多 >
编程相关推荐