在Ruby中将时间字符串转换为适当的格式

时间:2015-04-10 14:10:46

标签: ruby string datetime time

我尝试将以下字符串转换为适当的Ruby时间,

For.Ex。

 string_a = "1 minute, 6 seconds"   
 string_b = "3 minutes, 35 seconds" 

我想要实现的是,

string_a转换为时间格式:1:06 - 因为它只有6秒,在其前面添加0
  和string_b到时间格式:3.35

你可以请别人帮帮我吗?

1 个答案:

答案 0 :(得分:0)

假设输入字符串将始终采用相同的格式:

time = string_a.scan(/\d+/)
time[0] + ":" +  time[1].rjust(2,'0')
# => "1:06"

string_b = "3 minutes, 35 seconds"
timeb = string_b.scan(/\d+/)
timeb[0] + ":" +  timeb[1].rjust(2,'0')
# => "3:35"

你可以使你的正则表达式更严格,但是如果输入字符串总是以“ m分钟,s秒”格式表示,那么这就足够了。