Ruby-拆分最后三个字段



我知道split是一个有用的工具,我知道有一种方法可以做到这一点。我尝试了几种不同的方法,但无法通过谷歌找到。有人能帮我吗?

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

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

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

我也想保留逗号。

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

拆分会给你一个数组。可以使用范围来选择数组的子集。负数从数组的末尾开始计数,因此[-3..-1]选择倒数第三个到最后一个元素。

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

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

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

最新更新