我只是想知道是否有一种方法可以从字符串中删除文本,或者仅在字符串信息不同时才捕获特定文本。
我正在使用的字符串的示例:
3/5/2019 12:38 PM
10/30/2019 6:32 AM
9/12/2019 9:53 AM
我希望能够分别提取一天中的日期和小时,并将其附加到列表中。但是显然,这些值会发生变化,甚至小时的索引也会随着日,月或小时的变化> 10而变化,从而将其推回至三个空格。
答案 0 :(得分:2)
import re
s = "3/5/2019 12:38 PM"
result = re.compile(r"[\s\/:]").split(s)
result
:
['3', '5', '2019', '12', '38', 'PM']
假设输入的字符串相同时,这应该可以解决您的问题。
答案 1 :(得分:0)
您可以使用regular expressions 像这样的东西:
import re
m = re.match("(\d+/\d+/\d+) (\d+:\d+) (\wM)", "3/5/2019 12:38 PM")
print(m.groups())
这将打印一个元组,其中第一项是日期,第二项是时间,第三项是PM或AM:('3/5/2019', '12:38', 'PM')
,您可以轻松地自己解析
修改
您还可以使用datetime模块来解析日期字符串:
import datetime
dt = datetime.datetime.strptime("3/5/2019 12:38 PM","%d/%m/%Y %I:%M %p")
print(dt.date(), dt.hour)
这将为您提供一个datetime对象,您可以从中获取所有信息