0

我知道 split 是一个有用的工具,而且我知道有办法做到这一点。我尝试了几种不同的方法,但无法通过谷歌弄清楚。谁能帮我。

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

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

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

我也想保留逗号。

4

3 回答 3

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

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

于 2013-02-07T18:07:30.097 回答
3

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

于 2013-02-07T18:04:10.330 回答
3

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

example = "test1,test2,test3,test4,test5"
example.split(',').last(3).join(',') # => "test3,test4,test5"
于 2013-02-07T18:37:10.853 回答