为什么我不能从文本文件中的字符串中删除重复项?

时间:2013-09-26 21:54:23

标签: ruby duplicates uniq

我正在尝试从文本文件中的每一行删除重复的数字。由于某种原因,它不会删除重复的数字4.如果我在4后附加一个额外的数字,它工作正常,并删除重复的4。

def remove_dup(str)
  str.split(",").uniq.join(",")
end

File.open('pad.txt','r').each do |line|
  puts remove_dup(line)
end

我的输入'pad.txt'文件:

1,1,1,2,2,3,3,4,4
2,3,4,5,5

我的输出:

1,2,3,4,4
2,3,4,5

1 个答案:

答案 0 :(得分:4)

也许因为你从文本文件中获取字符串,所以在字符串的末尾有一个\n。因此,最后4实际上是4\n

试试看它是否有效:

def remove_dup(str)
    str.chomp.split(",").uniq.join(",")
end

chomp方法将从字符串末尾删除回车符。