在Ruby中,如何检查某个文件是否包含某个单词?我试过这个:检查文件是否包含特定字
foo = File.open('some-file', 'r').read
foo.index(/^word$/)
但是这不起作用。
在Ruby中,如何检查某个文件是否包含某个单词?我试过这个:检查文件是否包含特定字
foo = File.open('some-file', 'r').read
foo.index(/^word$/)
但是这不起作用。
File.readlines('some-file').grep(/word/)
Remeber,对一个行的开头^
比赛,并针对行的末尾$
匹配。因此,如果您搜索^xyz$
,您确实在搜索xyz\n
(文件开头)或\nxyz\n
(位于文件中间的某处)。没有其他字符串会匹配。
您正在寻找一条线,其中包含只是该字。也许少限制搜索帮助:
foo.index(/word/)
索引是File类的成员吗?我没有看到它在任何地方 –
@Hunter,'foo'是一个字符串(http://ruby-doc.org/core/classes/String.html#M001142) – miku
我按行分隔单词。这个解决方案并不像我期望的那样只用几个字母的单词。 –
或文件末尾的'\ nxyz'结尾的read()调用。如果它是整个文件,甚至是'xyz'。 –
是的。好眼睛:) Thx。 – Casper