目前我有類似的字符串:正則表達式操作修改字符串
mytime = '143456.45674'
該字符串是給時間:
%HH%MM:%SS . something else
我只HH:MM:SS
格式感興趣,所以我可以做:
mynewTime = mytime[0:2]+":"+mytime[2:4]+":"+mytime[4:6]
'14:34:56'
這是有點難看,我想知道是否有一個更優雅/有效的方式 正在做。正則表達式也許?
目前我有類似的字符串:正則表達式操作修改字符串
mytime = '143456.45674'
該字符串是給時間:
%HH%MM:%SS . something else
我只HH:MM:SS
格式感興趣,所以我可以做:
mynewTime = mytime[0:2]+":"+mytime[2:4]+":"+mytime[4:6]
'14:34:56'
這是有點難看,我想知道是否有一個更優雅/有效的方式 正在做。正則表達式也許?
看起來你正在尋找的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
一個正則表達式版本的樂趣:)
re.sub(r"(\d{2})(\d{2})(\d{2})\.\d+", r"\1:\2:\3", mytime)
如果你想這樣做的正則表達式
>>> import re
>>> val=re.sub(r"\..*$", "", "143456.45674")
>>> re.sub(r"(?<=\d)(?=(\d{2})+$)", ":", val)
'14:34:56'