如何在文本文件中搜索一段文本,然后打印出包含我在ruby中搜索的文本的整行文本?

时间:2016-06-21 17:45:10

标签: ruby file

这将用于搜索引擎esc。庄园,这样你就可以发送一个文本文件并打印出其中的所有内容,I.E。

File:
Ruby Is an Awesome programming language! 

Query: Ruby
What is returned: Ruby Is an Awesome programming language! 

我是如何做到的,超出了我的范围。那么有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

此示例假定文本以字符串形式输入,并将回车符作为换行符。

def search(string, query)
    string = string.split("\n"); 
    string.each do |line|
        if line.include?(query)
            return line
        end 
    end 
end 

您可以按如下方式调用该方法:

test_string = "Hello, I'm a test string. \n Did you know that Ruby is pretty cool? \n Of course I did!"
search(test_string, "Did you")

修改

如果多次找到该字符串,则会返回所有实例:

def search(string, query)
    string.split("\n").select{ |line| line.include?(query)}
end