在Python中格式化datetime时,如何匹配str中的任意字符?

2024-04-25 05:51:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在Python中将字符串转换为datetime。但是有些字符在字符串中是不相关的。你知道吗

Python Datetime Document

是官方文件,没有明确的方式匹配字符串中的任意字符。你知道吗


例如,我有一个字符串2018-01-01Ajrwoe。你知道吗

我想把这个字符串转换成一个日期时间2018 (year) 01 (month) and 01 (day)。你知道吗

这个字符串的其余部分无关紧要。你知道吗

  • 我知道我可以先更改字符串(删除不相关的字符),就像
raw_str = "2018-01-01Ajrwoe"
my_str = raw_str[:10]
strptime(my_str, my_format)
  • 但我只想直接匹配任意字符
raw_str = "2018-01-01Ajrwoe"
strptime(raw_str, my_format)
  • 但是my_format是怎样的呢?你知道吗

提前谢谢。你知道吗


Tags: 文件字符串formatdatetimeraw官方my方式
2条回答

下面是一种使用正则表达式清理字符串的方法:

raw_str = "2018-01-01Ajrwoe"

datetime.datetime.strptime(re.sub('[a-z|A-Z]', '', raw_str), '%Y-%m-%d')

输出:

datetime.datetime(2018, 1, 1, 0, 0)

您可以使用regex匹配日期。你知道吗

例如:

import re
raw_str = "2018-01-01Ajrwoe"
match = re.search(r'\d+-\d+-\d+', raw_str)
print(match.group(0))

相关问题 更多 >