我正在尝试从文本文件中的每一行删除重复的数字。由于某种原因,它不会删除重复的数字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
答案 0 :(得分:4)
也许因为你从文本文件中获取字符串,所以在字符串的末尾有一个\n
。因此,最后4
实际上是4\n
。
试试看它是否有效:
def remove_dup(str)
str.chomp.split(",").uniq.join(",")
end
chomp
方法将从字符串末尾删除回车符。