ruby on rails递归子字符串

时间:2012-02-10 09:25:56

标签: ruby datetime split

我有字符串(实际上是日期和时间),如"20120207080000"

是否有任何选项可以使用任何模式匹配技术或其他任何东西来拆分给定的字符串?

即我需要像这样的输出

output = ["2012", "02", "07", "08", "00", "00"]

否则是否可以将给定的字符串转换为日期/时间对象?

ruby​​版本:1.8.7

3 个答案:

答案 0 :(得分:8)

"20120207080000".unpack('A4A2A2A2A2A2') #=> ["2012", "02", "07", "08", "00", "00"]

答案 1 :(得分:4)

获取这样的DateTime对象:

require 'date'
DateTime.strptime('20120207080000', '%Y%m%d%H%M%S')

请注意使用正确的元素顺序。我只是在猜测。

答案 2 :(得分:1)

@steenslag答案确实是一个很好的答案,尽管你也可以只使用字符串操作。

str = "20120207080000"
output = [str[0..3], str[4..5], str[6..7], str[8..9], str[10..11], str[12..13]]

结果:

["2012", "02", "07", "08", "00", "00"]