繁体   English   中英

正则表达式:在格式错误的日期时间字符串中添加一个空格

[英]Regex: Adding a space in wrongly formatted datetime string

我试图用其“天”和“小时”部分之间的空格替换格式错误的日期时间字符串对象(如下面的数据所示)。

下面的数据是我使用正则表达式筛选出来的格式不正确的数据。 我无法理解如何在两者之间包含一个空格。 想知道我是否可以通过正则表达式做到这一点? 正则表达式新手,如果有人能分享他们的经验,我们将不胜感激!

df[df['time'].str.contains(r'\.[0-9][0-9][0-9][0-9]\:')]['time']
20192    2010.12.2512:01:45
20193    2010.12.2512:02:52
20196    2010.12.2512:07:43
20197    2010.12.2512:25:33
42811    2013.01.0103:04:10
43527    2013.05.1605:49:49

你的正则表达式并不遥远; 您只需要添加匹配的组(参见例如此处) - 您可以在它们之间放置缺少的空间。 例如喜欢

import pandas as pd

df = pd.DataFrame({'time': ['2010.12.2512:01:45', '2010.12.2512:02:52', '2010.12.25 12:07:43']})

df['time'].replace('(\.[0-9]{2})([0-9]{2}\:)', r'\1 \2', regex=True)
# 0    2010.12.25 12:01:45
# 1    2010.12.25 12:02:52
# 2    2010.12.25 12:07:43
# Name: time, dtype: object

请注意,我在列表末尾添加了一个“有效”字符串。 它没有被正则表达式替换修改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM