2013-02-07 19 views
-1

我知道拆分是一個有用的工具,我知道有一種方法可以做到這一點。我嘗試了幾種不同的方法,但無法通過谷歌找出它。誰能幫我。紅寶石拆分最後三個字段

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

所以我需要的結果看起來像這樣

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

我想保持逗號太多。

+0

它是什麼,你想幹什麼? –

+0

你知道'String#split'方法,你嘗試了什麼? –

+0

只需'split'然後'join'每個數組的最後三個元素。什麼東西阻止你? – 2013-02-07 18:03:36

回答

3

這基本上就是逗號上的splitjoin。數組中的負向索引很容易讓你獲得最後的許多元素。所以我想你想要str.split(',')[-3..-1].join(',')

+0

這正是我正在尋找的。謝謝!我不知道的部分是我可以做[-3 ..- 1] –

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

斯普利特給你一個數組。您可以使用範圍來選擇數組的子集。負數從數組的末尾算起,所以[-3..-1]選擇倒數第三個元素。

3

您還可以使用last(3)代替[-3..-1],像這樣:

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