Python正则表达式
问题描述:
我是Python新手和正则表达式。我在网上找到的所有例子看起来都很模糊和模糊。例如,在这几个条目中。Python正则表达式
2016-01-15T11:40:00-08:00 Valedictorian candidates meet for instructions
2016-02-26T15:05:00-08:00 Valedictorian written submissions due
2016-03-17 St. Patrick's Day
2016-03-25 Good Friday
2016-03-27 Easter Sunday
我希望最终结果与最后3个条目类似。 (删除时间,由TXX:XX:XX-XX:XX指出) 同时还保留摘要。 如果任何人都可以告诉我如何在python中以简单的方式对此进行编程,或者给我一些指针,那将非常感谢。
编辑: 数据被存储在,将其通过蟒输出以及一个简单的.txt文件,作为Python程序抓住在上面的输出从谷歌日历值。但我想要在其中包含正则表达式来删除时间格式。 另外。就我所知,Google不允许删除时间/将其放入其他时间格式。
EDIT2: 所有参赛作品都在提前output.txt的
感谢。用空字符串
T(?:\d+(?:-\d+)?:){3}\d+
-
答
>> import re
>> value = """2016-01-15T11:40:00-08:00 Valedictorian candidates meet for instructions
... 2016-02-26T15:05:00-08:00 Valedictorian written submissions due
... 2016-03-17 St. Patrick's Day
... 2016-03-25 Good Friday
... 2016-03-27 Easter Sunday
... """
>> re.sub(r'T[\d:-]+ ', ' ', v)
"2016-01-15 Valedictorian candidates meet for instructions\n2016-02-26 Valedictorian written submissions due\n2016-03-17 St. Patrick's Day\n2016-03-25 Good Friday\n2016-03-27 Easter Sunday\n"
答
您可以替换这个正则表达式匹配项(其中表示时间)。
Regex explanation here
的代码应该是这样的 -
In [13]: s='''2016-01-15T11:40:00-08:00 Valedictorian candidates meet for instructions
2016-02-26T15:05:00-08:00 Valedictorian written submissions due
2016-03-17 St. Patrick's Day
2016-03-25 Good Friday
2016-03-27 Easter Sunday'''
In [14]: import re
In [15]: new_str = re.sub(r'T(?:\d+(?:-\d+)?:){3}\d+', '', s)
In [16]: print new_str
2016-01-15 Valedictorian candidates meet for instructions
2016-02-26 Valedictorian written submissions due
2016-03-17 St. Patrick's Day
2016-03-25 Good Friday
2016-03-27 Easter Sunday
你必须证明这些数据如何被存储,也许到目前为止,并这样你试过什么一些代码。 –
你也可以在不使用正则表达式的情况下执行此操作,而是使用字符串切片,因为要删除的字符似乎位于特定索引处 –