【发布时间】:2016-09-08 15:26:52
【问题描述】:
如何从“Campaign on 01.11.2015”中提取“20151101”(作为字符串)?
我读过这个: Extracting date from a string in Python .但是从 Match 对象转换为字符串时,我卡住了。
【问题讨论】:
如何从“Campaign on 01.11.2015”中提取“20151101”(作为字符串)?
我读过这个: Extracting date from a string in Python .但是从 Match 对象转换为字符串时,我卡住了。
【问题讨论】:
通过上述帖子中的细微调整,您可以让它工作。
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
【讨论】:
这是一种方法,使用re.sub():
import re
s = "Campaign on 01.11.2015"
new_s = re.sub(r"Campaign on (\d+)\.(\d+)\.(\d+)", r'\3\2\1', 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(".")))
【讨论】:
具有列表的魔力。
In [15]: ''.join(a.split()[-1].split('.')[::-1])
Out[15]: '20151101'
【讨论】: