1
我有一個包含2個不同的時間線,看起來像這樣的文件:如何將包含字符串時間分成幾部分在Ruby中
01:31:51,210 --> 01:31:54,893
格式hours:minutes:seconds,milliseconds
。我的問題是如何將這兩次分成兩個數組。 line.split(':', ',')
不起作用。
我有一個包含2個不同的時間線,看起來像這樣的文件:如何將包含字符串時間分成幾部分在Ruby中
01:31:51,210 --> 01:31:54,893
格式hours:minutes:seconds,milliseconds
。我的問題是如何將這兩次分成兩個數組。 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(/[:,]/) }
'Time.parse',這是他們關心的問題是這樣的。 –
@BorisStitnicky:這個時間範圍看起來像是一些字幕格式的一部分。所以也許他不需要成熟的'Time'實例。誰知道? –
不,時間很好......我只是不知道有一個時間課。謝謝! – mikeglaz