python 从一段文字中提取时间字符串

如果你要从这段话中提取时间字段,主要是提取两个日期时间和工作时长(16小时),可以使用正则表达式来实现。以下是一个示例代码,演示如何从给定的文本中提取时间字段:

import re

text = "上班05-13 17:30到05-17 20:00 16小时"

# 定义匹配时间字段的正则表达式模式
time_pattern = r'上班班(\d{2}-\d{2} \d{2}:\d{2})到(\d{2}-\d{2} \d{2}:\d{2}) (\d+)小时'

# 使用正则表达式进行匹配
matches = re.search(time_pattern, text)

if matches:
    start_time = matches.group(1)    # 第一个括号捕获组,即开始时间
    end_time = matches.group(2)      # 第二个括号捕获组,即结束时间
    duration = matches.group(3)      # 第三个括号捕获组,即工作时长

    print("Start Time:", start_time)
    print("End Time:", end_time)
    print("Duration:", duration, "hours")
else:
    print("No matches found.")

解释

  1. text 变量包含了待处理的文本 "上班05-13 17:30到05-17 20:00 16小时"
  2. time_pattern 是用来匹配时间字段的正则表达式模式:
    • (\d{2}-\d{2} \d{2}:\d{2}) 匹配类似 05-13 17:30 格式的日期时间,这里使用了括号捕获组来提取开始时间和结束时间。
    • (\d+)小时 匹配类似 16小时 格式的工作时长,同样使用了括号捕获组来提取小时数。
  3. re.search(time_pattern, text) 使用 re.search 函数找出匹配 time_pattern 的部分。
  4. matches.group(1)matches.group(2)matches.group(3) 分别提取了开始时间、结束时间和工作时长的值。
  5. 最后,将提取出的时间字段打印输出。

这样,你可以根据需要从文本中提取出具体的时间字段,以便进一步处理或者存储。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时尚IT男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值