【发布时间】:2010-06-01 14:15:57
【问题描述】:
我有一个示例位置文件,如下所示。
789754654 COLORA SOMETHING1 19370119FYY076 2342423234SS323423
742784897 COLORB SOMETHING2 20060722FYY076 2342342342SDFSD3423
我对职位 54-61(第 4 列)感兴趣。我想将日期更改为不同的格式。所以最终的结果是:
789754654 COLORA SOMETHING1 01191937FYY076 2342423234SS323423
742784897 COLORB SOMETHING2 07222006FYY076 2342342342SDFSD3423
列由空格而不是制表符分隔。最终文件应该具有与原始文件完全相同的空格数......唯一改变的应该是日期格式。我怎样才能做到这一点?我写了一个脚本,但它会失去原来的空间,定位会混乱。
file.each_line do |line|
dob = line.split(" ")
puts dob[3] #got the date. change its format
5.times { puts "**" }
end
谁能提出一个更好的策略,使原始文件中的定位保持不变?
【问题讨论】:
-
在示例字符串中,日期字段似乎跨越第 45 到 58 列而不是 54 到 61 列。
-
我故意缩短它以使其更易于阅读。