我已经很久没有用ruby做这样的事情了,但是我忘记了如何打开一个文件,查找一个字符串,以及打印ruby找到的东西。
#!/usr/bin/env ruby
f = File.new("file.txt")
text = f.read
if text =~ /string/ then
puts test
end
字符串
我想确定config/routes.rb中的“documentroot”(路由)是什么
如果我打印字符串,它就打印文件。
我不记得这是什么感觉很蠢,但我需要知道。
我希望我能打印出来:
# Route is:
blah blah blah blah
型
3条答案
按热度按时间x6h2sr281#
字符串
这将返回匹配正则表达式的第一行。如果您想要 * 所有 * 匹配行,请将
find
更改为find_all
。它也更高效,每次遍历一行,而不需要将整个文件加载到内存中。
也可以使用
grep
方法:型
w80xi6nr2#
获取根的最简单方法是:
字符串
如果你想在Ruby中使用它,我会这样做:
型
mkshixfv3#
在
text
中,整个文件都是一个字符串,你可以使用带有regexp的.match
来匹配它,或者像Dave Newton建议的那样,你可以遍历每一行并检查。比如:字符串