Ruby字符串在比较文本文件中的文本时不匹配

时间:2013-09-02 11:34:03

标签: ruby file text

我在阅读带有readline的文本文件并尝试将第一行与字符串进行比较时出现问题。我想比较文本文件的第一行和字符串,然后将进行下一个过程。但我无法做到这一点。这是我的代码:

doc = File.open("example.txt", "r")
line1 = doc.readline
if line1 == "sukanta"   
  line2 = doc.readline 
  line3 = doc.readline 
  line4 = doc.readline 
end

我的example.txt文件包含:

sukanta  
Software engineer
label2  
server:107.108.9.190

请给我解决方案。虽然我试图通过line1.length获取字符串长度,但它没有显示确切的数字。 我得到了答案。它的愚蠢错误......我应该使用" sukanta \ n"比较

当我使用readline读取每一行时,我必须按顺序在每个行中设置每一行。我不能打破秩序。我正在使用循环

doc = File.open("example.txt", "r")
doc.each_line do |lines|
 puts lines
end

将整个文本作为一行。不能将每条线与其他线分开。我需要打破秩序。怎么做?

1 个答案:

答案 0 :(得分:3)

我怀疑您没有考虑到一行以$/结尾(在UNIX上为"\n")。所以你可能打算

line1 == "sukanta\n"

line1.chomp == "sukanta"

并且在计算长度时(包括操作系统的长度小于正确长度的一个或两个字符),您不会包括$/