我的代码有问题吗?
line = File.readlines("file.txt").sample(1)[0]
puts line
def remove_lines(fname, line)
IO.write(fname, IO.read(fname).gsub(/^#{line}\n/, ''))
end
remove_lines("file.txt", "#{line}")
我尝试在readlines中的文件名之后添加一个“a”。“rb”和“r +”。我只是想让它从file.txt
读取一行,然后删除正在读取的同一行。请帮忙?
答案 0 :(得分:1)
您可以使用String#strip(line.strip
)从line
中删除前导和尾随空格字符(如果有)。另外,从\n
gsub
def remove_lines(fname, line)
IO.write(fname, IO.read(fname).gsub(/^#{line.strip}/, ''))
end
这将解决问题,您的代码将按预期工作。