使用正则表达式

时间:2018-03-05 21:11:08

标签: python regex string

我有以下字符串:

File Modification Date/Time     : 2018:03:05 15:21:35-04:00

并且,想要分别提取此部分2018:03:05和此部分15:21:35

我认为正则表达式会起作用吗?但是,不知道如何去做。

感谢。

4 个答案:

答案 0 :(得分:6)

也许,declare @createdate datetimeoffset set @createdate = '2018-03-02 12:00:00.0000000 -07:00' select convert(datetimeoffset,CONVERT(datetime2, @createdate , 1))

re.findall

详细

>>> re.findall(r'\d+(?::\d+){2}', text)
['2018:03:05', '15:21:35']

答案 1 :(得分:0)

一个简单的解决方案,可能不是最理想的解决方法是将字符串拆分为空格字符,然后从结果数组中访问两个字符串。

答案 2 :(得分:0)

如果字符串是固定长度:

a = "File Modification Date/Time     : 2018:03:05 15:21:35-04:00"
print(a[34:44]) # 2018:03:05
print(a[45:53]) # 15:21:35

答案 3 :(得分:0)

取决于您要对数据执行的操作,但将该字符串转换为日期时间对象可以为您提供更多自由。只有你以后要重复使用这些数据。

from datetime import datetime,

a = "File Modification Date/Time     : 2018:03:05 15:21:35-04:00"
datetime_string = a.split(":",1)[1] 

datetime_object = datetime.strptime(datetime_string, '%b %d %Y %I:%M%p')