Ruby-拆分最后三个字段

时间:2013-02-07 17:58:48

标签: ruby split

我知道split是一个有用的工具,我知道有办法做到这一点。我尝试了一些不同的方法,但无法通过谷歌解决。任何人都可以帮助我。

example1 = "test1,test2,test3,test4,test5"
example2 = "test1,test2,test3,test4,test5,test6,test7"

所以我需要结果看起来像这样

example1 = test3,test4,test5
example2 = test5,test6,test7

我也想保留逗号。

3 个答案:

答案 0 :(得分:4)

example = "test1,test2,test3,test4,test5"
example.split(',')[-3..-1] # => [test3,test4,test5]

Split为您提供了一个数组。您可以使用范围来选择数组的子集。负数从数组的末尾开始计数,因此[-3..-1]选择最后一个元素的倒数第三个。

答案 1 :(得分:3)

这基本上只是逗号上的splitjoin。数组中的负索引很容易让你获得最后的元素。所以我认为你想要str.split(',')[-3..-1].join(',')

答案 2 :(得分:3)

您也可以使用last(3)代替[-3..-1],如下所示:

example = "test1,test2,test3,test4,test5"
example.split(',').last(3).join(',') # => "test3,test4,test5"