У меня есть текстовый файл в формате:
04-01-2010 13:25
Lorem Ipsum...
03-28-2010 15:21
Lorem Ipsum...
и т.д.
И я хочу изменить формат даты, чтобы она выглядела так:
2010-04-01 13:25
Lorem Ipsum...
2010-03-28 15:21
Lorem Ipsum...
и т.д.
Проблема, с которой я столкнулся, заключается в том, что я не могу передать регулярное выражение непосредственно процедуре, и я не знаю, как еще это сделать. И код, кажется, вообще не пишет в файл. Вот мой код:
def dateFix(dateLine)
dateLine = dateLine.split('-')
newDate = dateLine.slice(2), dateLine.slice(0), dateLine.slice(1)
newDate = newDate.join('-')
end
@reg = /\b\d\d-\d\d-\d\d\d\d\b/
File.open('some_file.txt', "r+") { |file|
file.each_line { |line|
date = line if line == @reg
if date
file.puts line.gsub(date, dateFix(date))
end
}
}