datetime = '0000-00-00 00:00:00'.split('-')
現在它只是將它拆分爲連字符,但是可以將這個字符串拆分爲''和''嗎?用不同的sep分割一個字符串@一旦使用不同的seps
datetime = '0000-00-00 00:00:00'.split('-')
現在它只是將它拆分爲連字符,但是可以將這個字符串拆分爲''和''嗎?用不同的sep分割一個字符串@一旦使用不同的seps
一個想法是這樣的(未經測試):
years, months, days = the_string.split('-')
days, time = days.split(' ')
time = time.split(':')
還是這個,它適合你的數據更好。
date, time = the_string.split(' ')
years, months, days = date.split('-')
hours, minute, seconds = time.split(":")
我猜你也想拆就在中間的空間:
import re
values = re.split(r'[- :]', "1122-33-44 55:66:77")
print values
# Prints ['1122', '33', '44', '55', '66', '77']
使用正則表達式,並使用模式匹配所需的格式,
>>> pat = r"(\d{4})-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)"
>>> m = re.match(pat,'0000-00-00 00:00:00')
>>> m.groups()
('0000', '00', '00', '00', '00', '00')
>>>
一個更詳細的選項,名爲組,將字段名稱與值(對於@skurpur)。
>>> pat = "(?P<year>\d{4})-(?P<month>\d\d)-(?P<day>\d\d) (?P<hour>\d\d):(?P<min>\d\d):(?P<sec>\d\d)"
>>> m = re.match(pat,'0000-00-00 00:00:00')
>>> m.groupdict()
{'hour': '00', 'min': '00', 'month': '00', 'sec': '00', 'year': '0000', 'day': '00'}
>>>
也許你真正想要的是解析日期
>>> from time import strptime
>>> strptime('2000-01-01 00:00:00', '%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2000, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=1, tm_isdst=-1)
>>>
...改變 「P」 到 「拍」。 :)此外,「\ d {4}」會更好的IMO,然後使用r「」而不是普通字符串來保證安全。 – 2009-06-25 09:27:20
謝謝,重新格式化。如何(?P \ d {4})組? –
gimel
2009-06-25 09:41:29