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/)
思い出してくれるの行の先頭に対する^
マッチ、および行の終わりに対する$
一致していること。したがって、^xyz$
を検索すると、実際にはxyz\n
(ファイルの先頭)または\nxyz\n
(ファイルの途中)が検索されます。他の文字列は一致しません。
という単語だけがという行を探しています。たぶんあまり制約の検索ができます:
foo.index(/word/)
インデックスはFileクラスのメンバですか?私はどこにでもそれを見ないでください –
@Hunter、 'foo'は文字列です(http://ruby-doc.org/core/classes/String.html#M001142) – miku
私は行ごとに単語を区切ります。その解決策は、私が数文字の単語を期待しているようには機能しません。 –
行の終わりにread()コールを気付かなかったし、ファイルの最後に '\ nxyz'を付けた。あるいはファイル全体であれば 'xyz'となります。 –
真。良い目:) Thx。 – Casper