python怎么用正则把"3小时21分"转换为秒?

ron_xin 2020-03-10 09:04:33
python怎么用正则把"3小时21分"转换为秒?
...全文
249 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰风漫天 2020-03-10
  • 打赏
  • 举报
回复
两边还有其他内容的情况下,可以写

a = '现在是13小时21分啊'
import re
m = re.match('\D+(\d+)小时(\d+)分.*', a)
print(int(m.group(1))*3600+int(m.group(2))*60)
冰风漫天 2020-03-10
  • 打赏
  • 举报
回复
两边没有其他字符串的情况下,可以写

a = '13小时21分'
import re
m = re.match('(\d+)小时(\d+)分', a)
print(int(m.group(1))*3600+int(m.group(2))*60)
ron_xin 2020-03-10
  • 打赏
  • 举报
回复
引用 1 楼 冰风漫天 的回复:
大概思路

a = '3小时21分'
import re
m = re.match('.*(\d+)小时(\d+)分.*', a)
print(int(m.group(1))*3600+int(m.group(2))*60)
有个问题

a = '13小时21分'
m = re.match('.*(\d+)小时(\d+)分.*', a)
print(int(m.group(1))*3600+int(m.group(2))*60)
结果是一样的。
paullbm 2020-03-10
  • 打赏
  • 举报
回复
1楼已经给出正解!
Hajo_ 2020-03-10
  • 打赏
  • 举报
回复
引用 楼主 ron_xin的回复:
python怎么用正则把"3小时21分"转换为秒?

import re
time_str = '3小时21分'
result = re.search(r'(/d+)小时(/d+)分')
seconds = int(result.group(0)*360)+int(result.group(1)*60)
print('%s转化后的秒数为%d'%(time_str,seconds))

冰风漫天 2020-03-10
  • 打赏
  • 举报
回复
大概思路

a = '3小时21分'
import re
m = re.match('.*(\d+)小时(\d+)分.*', a)
print(int(m.group(1))*3600+int(m.group(2))*60)

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧