从 python 中的字符串中提取日期

Extract date from string in python

如何从 "Campaign on 01.11.2015" 中提取“20151101”(作为字符串)?

我读过这一篇: Extracting date from a string in Python .但是我在从 Match 对象转换为字符串时遇到了问题。

稍微更健壮的正则表达式:.*?\b(\d{2})\.(\d{2})\.(\d{4})\b

(nn/nn/nnnn 带字边界的格式)

替换字符串:

demo

这是一种方法,使用 re.sub():

import re

s = "Campaign on 01.11.2015"

new_s = re.sub(r"Campaign on (\d+)\.(\d+)\.(\d+)", r'', s)

print new_s

还有一个,使用 re.match():

import re

s = "Campaign on 01.11.2015"

match = re.match(r"Campaign on (\d+)\.(\d+)\.(\d+)", s)
new_s = match.group(3)+match.group(2)+match.group(1)

print new_s

让我们疯狂吧:D

       "".join(reversed(a.split()[-1].split(".")))

在上述 post 中稍作调整,即可正常运行。

import re
from datetime import datetime

text = "Campaign on 01.11.2015"

match = re.search(r'\d{2}.\d{2}.\d{4}', text)
date = datetime.strptime(match.group(), '%d.%m.%Y').date()
print str(date).replace("-", "")
20151101

列表的魔法

In [15]: ''.join(a.split()[-1].split('.')[::-1])
Out[15]: '20151101'