我想在Python中将字符串转换为日期时间。但是有些字符在字符串中不相关。

Python Datetime Document

是官方文档,没有明确的方法来匹配String中的任意字符。



例如,我有一个字符串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怎么样?


提前致谢。

最佳答案

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

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)

关于python - 在Python中格式化日期时间时,如何匹配str中的任意字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57609167/

10-09 18:10
查看更多