我正在尝试从整个句子中提取特定的日期字符串。
例如:string = 'Smith Born: Wednesday October 10 1975 Died: Wednesday December December 20 2018, Service will be held ayz location on Saturday December 23 2018'
。
如何从以上句子中提取“出生日期(任何格式),但始终为"Born: Date"
格式。同样,日期日期格式也将失效。
我正在使用Python。我想知道有什么方法可以使用regex
和datetime
parse
,例如:
如果re.compile('Age ([0-9]*)')
,我将使用Age 32
作为年龄,那么上面的代码将用于查找32
。有什么方法可以使用re.compile('Born: (parse(datetime))')
还是其他任何方法都可以。.谢谢
string = 'Smith Born: Wednesday October 10 1975 Died: Wednesday December December 20 2018, Service will be held ayz location on Saturday December 23 2018'
。
提取出生日期和死亡日期。任何日期格式。
我正在尝试re.compile('Born: (parse(datetime))')
,但不知道如何在re.compiler中编译解析日期时间库。
答案 0 :(得分:0)
这很丑陋,但是对于短文本,您可以在dateutil.parser
之后逐渐使用较短的字符串:
import dateutil
def extract_date(text):
while True:
try:
date = dateutil.parser.parse(text)
return date
except:
pass
end = text.rfind(" ")
if end == -1:
return None
text = text[:end]
return None
def following(pattern, text):
start = text.find(pattern)
if start == -1:
return None
return text[start + len(pattern):]
text = 'Smith Born: Wednesday October 10 1975 Died: Wednesday December December 20 2018, Service will be held ayz location on Saturday December 23 2018'
print(extract_date(following("Born:", text)))
print(extract_date(following("Died:", text)))