jch*_*241 0 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
Run Code Online (Sandbox Code Playgroud)
我的输入“pad.txt”文件:
1,1,1,2,2,3,3,4,4
2,3,4,5,5
Run Code Online (Sandbox Code Playgroud)
我的输出:
1,2,3,4,4
2,3,4,5
Run Code Online (Sandbox Code Playgroud)
也许因为您是从文本文件获取字符串,所以\n字符串末尾有一个。因此,最后一个4实际上是4\n.
试试这个看看是否有效:
def remove_dup(str)
str.chomp.split(",").uniq.join(",")
end
Run Code Online (Sandbox Code Playgroud)
该chomp方法将从字符串末尾删除回车符。