2013-09-26 34 views
0

我试图从文本文件中的每一行删除重复的数字。出于某种原因,它不会删除重复的数字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 

回答

4

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

试试这个,看看它的工作原理:

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

chomp方法将从字符串的结尾去掉回车符。

相关问题