检查文件是否包含特定单词

时间:2011-08-16 16:42:52

标签: ruby regex string file

在Ruby中,如何检查某个文件是否包含某些单词?我试过这个:

foo = File.open('some-file', 'r').read
foo.index(/^word$/)

但这不起作用。

2 个答案:

答案 0 :(得分:7)

File.readlines('some-file').grep(/word/)

记住^与一行的开头匹配,$与一行的结尾匹配。因此,如果您搜索^xyz$,您实际上正在搜索xyz\n(文件开头)或\nxyz\n(文件中间的某个位置)。没有其他字符串可以匹配。

答案 1 :(得分:2)

您正在搜索一行,其中包含该词。也许受限制较少的搜索有助于:

foo.index(/word/)