2013-06-05 50 views

回答

3
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] 
+0

'Time.parse',这是他们关心的问题是这样的。 –

+0

@BorisStitnicky:这个时间范围看起来像是一些字幕格式的一部分。所以也许他不需要成熟的'Time'实例。谁知道? –

+0

不,时间很好......我只是不知道有一个时间课。谢谢! – mikeglaz

1

分裂一次,然后对结果(使用正则表达式)再次分裂: line.split(" --> ").map { |l| l.split(/[:,]/) }

相关问题