2 つの異なる時間の行を含むファイルがあり、次のようになります。
01:31:51,210 --> 01:31:54,893
形式はhours:minutes:seconds,milliseconds
. 私の質問は、これら 2 回を 2 つの配列に分割する方法です。 line.split(':', ',')
動作しません。
2 つの異なる時間の行を含むファイルがあり、次のようになります。
01:31:51,210 --> 01:31:54,893
形式はhours:minutes:seconds,milliseconds
. 私の質問は、これら 2 回を 2 つの配列に分割する方法です。 line.split(':', ',')
動作しません。
require 'time'
s = '01:31:51,210 --> 01:31:54,893'
a = s.split(' --> ') # => ["01:31:51,210", "01:31:54,893"]
b1 = a.map{|a1| a1.split(/[:,]/)} # => [["01", "31", "51", "210"], ["01", "31", "54", "893"]]
Time
または、オブジェクトに直接解析できます
b2 = a.map{|a1| Time.parse(a1)} # => [2013-06-05 01:31:51 +0400, 2013-06-05 01:31:54 +0400]
一度分割してから、結果を再度分割します (正規表現を使用):
line.split(" --> ").map { |l| l.split(/[:,]/) }