gpt4 book ai didi

python - 从包含名称+日期的字符串中提取日期

转载 作者:行者123 更新时间:2023-11-28 20:55:42 26 4
gpt4 key购买 nike

我需要从这样的一系列字符串中提取日期:

'MIHAI MĂD2Ă3.07.1958'

'CLAUDIU-MIHAI17.12.1999'

如何做到这一点?

试过这个:

for index,row in DF.iterrows():
try:
if math.isnan(row['Data_Nasterii']):
match = re.search(r'\d{2}.\d{2}.\d{4}', row['Prenume'])
date = datetime.strptime(match.group(), '%d.%m.%Y').date()
s = datetime.strftime(datetime.strptime(str(date), '%Y-%m-%d'), '%d-%m-%Y')
row['Data_Nasterii'] = s
except TypeError:
pass

最佳答案

正则表达式中的 . (dot) 并不表示字符点,它表示“任何”,需要转义 (\) 才能成为实际的点.
除此之外,您的第一组是 \d{2} 但您的某些日期只有个位数。
我会使用以下内容:

re.search(r'(\d+\.\d+\.\d+)', row['Prenume'])

这意味着至少一个数字后跟一个点再跟至少一个数字.....
如果您在一天中有一些混合字符,您可以尝试以下(低于标准)解决方案:

''.join(re.search(r'(\d*)(?:[^0-9\.]*)(\d*\.\d+\.\d+)', row['Prenume']).groups())

这将在你的“一天”中过滤掉最多一个 block ,它不漂亮但它有效(并返回一个字符串)

关于python - 从包含名称+日期的字符串中提取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56098186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com