大家好我有一个这样的专栏,
matrix(x[1:4] + rep(0:6, each = 4), ncol=4, byrow = TRUE)
我想将“Start =”和日期格式删除到
Start
Start = 11122001
Start = 12012014
Start = 23122001
我该如何正确地做到这一点?
答案 0 :(得分:4)
这取决于你想要做什么。
如果您想从每行删除Start =
:
lines = [ format_date(re.sub("^Start =", '', line)) for line in lines ]
(假设您在列表中逐行显示文字)。
要格式化日期,您需要实现函数format_date
这会将日期从11122001
转换为11/12/2001
。
根据输入格式,有多种方法可以执行此操作。 其中一个解决方案:
def format_date(x):
if re.match(x, '[0-9]{8}'):
return "/".join([x[:2], x[2:4], x[4:]])
else:
return x
首先检查该行是否与日期表达式匹配(看起来像日期), 如果是的话,重写它。否则只需按原样返回。
当然,您可以将解决方案合并到一行中 并且根本不使用功能,但在这种情况下 它不会那么清楚。
另一个基于map
的解决方案:
def format_line(x):
x = re.sub("^Start =", '', line)
if re.match(x, '[0-9]{8}'):
return "/".join([x[:2], x[2:4], x[4:]])
else:
return x
map(format_line, lines)