我有一個字串,其中包含以連字符 (-) 分隔的一周中每一天的兩個班次開始和結束時間。一周中的一天從星期一開始到星期日。
例如,每周班次值類似于 '08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13 :00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13:00 -16:00-00:00-00:00-00:00-00:00'。
一天有兩個班次,因此周一至周五班次的營業時間為 08:00-11:00-13:00-19:00,周六為 08:00-11:00-13:00- 16:00,周日為 00:00-00:00-00:00-00:00。由此我想使用正則運算式查找每天的營業時間和關閉時間。
例如:
周一 - 08:00-19:00
周二 - 08:00-19:00
周三 - 08:00-19:00
周四 - 08:00-19:00
周五 - 08:00-19:00
周六 - 08:00-16:00
周日 - 00:00-00:00
我可以知道如何使用 re.split() 在 Python 中使用正則運算式來實作這一點嗎?我是新手。
uj5u.com熱心網友回復:
我不明白你為什么要使用正則運算式。你可以只用連字符 (-) 分割字串,然后你會得到一個時間串列。然后每天將它們分組為 4 個專案,在每個組中,您將讓前兩個專案進行第一個班次,最后兩個專案進行最后一次班次。
shifts = '08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08...'
shifts_lst = shifts.split("-")
days = []
weekDays = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
for i in range(0,len(shifts_lst), 4):
days.append(shifts_lst[i:i 4])
for i, day in enumerate(weekDays):
print(day,"first shift" ,days[i][:2])
print(day,"second shift" ,days[i][2:])
uj5u.com熱心網友回復:
對于這種情況,您不需要正則運算式,我們可以簡單地使用,
st='08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13:00-16:00-00:00-00:00-00:00-00:00'
res=st.split('-')
days=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
for i in range(0,len(res),4):
print("{} - {}-{}".format(days[i//4],res[i],res[i 3]))
希望這可以幫助。
uj5u.com熱心網友回復:
如果你想使用正則運算式,我們可以使用re.findall()
import re
hours = '08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13:00-19:00-08:00-11:00-13:00-16:00-00:00-00:00-00:00-00:00'
res = re.findall(r'([^-] )',hours)
weekdays=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
result=""
for i in range(0,7):
result = weekdays[i] '-' res[4*i] '-' res[4*i 3] '\n'
print(result)
輸出
Monday-08:00-19:00
Tuesday-08:00-19:00
Wednesday-08:00-19:00
Thursday-08:00-19:00
Friday-08:00-19:00
Saturday-08:00-16:00
Sunday-00:00-00:00
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/466801.html
下一篇:如何改進我的正則運算式決議模式?
