[英]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.