我有以下文件名显示了这种模式:
000014_L_20111007T084734-20111008T023142.txt
000014_U_20111007T084734-20111008T023142.txt
...
我想提取第二个下划线'_'
之后和'.txt'
之前的中间两个时间戳部分。所以我使用了下面的Python regex string split:
time_info = re.split('^[0-9]+_[LU]_|-|\.txt$', f)
但这给了我两个额外的空字符串:
time_info=['', '20111007T084734', '20111008T023142', '']
我怎样才能只得到两个时间戳的信息?i、 e.我想要:
time_info=['20111007T084734', '20111008T023142']
如果时间戳总是在第二个
_
之后,则可以使用str.split
和str.strip
:我不是Python专家,但也许您可以从列表中删除空字符串?
不要使用
re.split()
,使用regexMatch
/SRE_Match
对象的groups()
方法。您甚至可以命名捕获组并在dict中检索它们,尽管您使用的是
groupdict()
,而不是groups()
。(这种情况的regex模式类似于r'[LU]_(?P<groupA>\w+)-(?P<groupB>\w+)\.'
)相关问题 更多 >
编程相关推荐