如何删除数组中的元素

时间:2013-03-05 09:28:03

标签: ruby arrays sorting

我有一个数组:

output = [["efg\r\n", "abc\r\n", "xyz\r\n", "mno\r\n", "end "]]

我需要排序并列出类似下面的内容,删除第一个和最后一个条目并删除"\r""\n"

abc 
xyz
mno

我尝试使用popdrop,但他们没有帮助,因为整行都被视为第一个数组(例如:output[1][0]会给"efg\r\n")。

3 个答案:

答案 0 :(得分:3)

你需要一些linke

a = output[0][1,outputs.size-2].map{|t| t.strip}

现在a将是["abc", "xyz", "mno"]类型的数组。我没有对这个数组进行排序,因为它似乎没有在你显示的输出中排序。

答案 1 :(得分:1)

你可以这样写:

output = arr.flatten[1..-1].map { |s| s.strip }.sort

答案 2 :(得分:0)

我会咬人:

output = [["efg\r\n", "abc\r\n", "xyz\r\n", "mno\r\n", "end "]]
output[0][1..-2].map &:strip
#=> ["abc", "xyz", "mno"]