我得到一个可能有一个或多个日期的吊球对象。如果第一个日期为空,则将日期视为表格我得到一个chr(20)。数组的ex第3个元素有一个日期,前两个空的看起来类似于“”,“”,“01/01/01 01:01:01”。我想将日期时间字符串中的“”更改为不同的字符(“ - ”),这样我就可以轻松区分空元素和实际日期时间值,中间有空格。全新的python和正则表达式不会被认为是我的强项。
>>> x = '01/01/12 17:11:11'
>>> y = re.sub( r"\d{2} \d{2}", r"\d{2}-\d{2}",x)
>>> print (x,y)
01/01/12 17:11:11 01/01/\d{2}-\d{2}:11:11
答案 0 :(得分:3)
使用lookahead和lookbehind断言:
>>> import re
... x = '01/01/12 17:11:11 random junk 01/08/10 12:01:33'
... y = re.sub(r'(?<=\d{2}) (?=\d{2})', '-', x)
... y
103: '01/01/12-17:11:11 random junk 01/08/10-12:01:33'
答案 1 :(得分:2)
你需要正则表达式吗?那么'-'.join(x.split())
呢?
否则,您可能需要使用群组:
y = re.sub( r"(\d{2})\s+(\d{2})", r"\1-\2",x)
答案 2 :(得分:0)
你不能只使用:
x = x.replace(' ', '-')
答案 3 :(得分:0)
正则表达式在这里过度。只需使用string.replace()函数:
>>> a='01/01/12 17:11:11'
>>> a.replace(' ','-')
'01/01/12-17:11:11'