用于修改字符串的正则表达式操作

2024-09-30 01:21:27 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我有一个类似的字符串:

mytime = '143456.45674'

那根弦在给时间:

%HH%MM:%SS . something else

我只对HH:MM:SS格式感兴趣,所以我可以:

mynewTime = mytime[0:2]+":"+mytime[2:4]+":"+mytime[4:6]
'14:34:56'

它有点难看,我想知道是否有一个更优雅/更有效的方法来做它。也许是正则表达式


Tags: 方法字符串格式hh时间sselsesomething
3条回答

看起来您正在寻找strptimestrftime的组合:

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)

相关问题 更多 >

    热门问题