2024-09-30 01:21:27 发布
网友
目前我有一个类似的字符串:
mytime = '143456.45674'
那根弦在给时间:
%HH%MM:%SS . something else
我只对HH:MM:SS格式感兴趣,所以我可以:
HH:MM:SS
mynewTime = mytime[0:2]+":"+mytime[2:4]+":"+mytime[4:6] '14:34:56'
它有点难看,我想知道是否有一个更优雅/更有效的方法来做它。也许是正则表达式
看起来您正在寻找strptime和strftime的组合:
strptime
strftime
import datetime mytime = '143456.45674' ts = datetime.datetime.strptime(mytime, '%H%M%S.%f') print ts.strftime('%H:%M:%S') # 14:34:56
如果你想在regex里做的话
>>> import re >>> val=re.sub(r"\..*$", "", "143456.45674") >>> re.sub(r"(?<=\d)(?=(\d{2})+$)", ":", val ) '14:34:56'
有趣的正则表达式版本:)
re.sub(r"(\d{2})(\d{2})(\d{2})\.\d+", r"\1:\2:\3", mytime)
看起来您正在寻找
strptime
和strftime
的组合:如果你想在regex里做的话
有趣的正则表达式版本:)
相关问题 更多 >
编程相关推荐