2016-03-22 19 views
0

テキストを解析する必要がありますが、問題は探している単語が1行にしかないことです。Python - テキストから単語を取る

例えば、コンピュータという単語は行の最後に "comp"を持つことができ、行頭には "uter"(白いスペースなし)があります。私は "コンピュータ"という言葉を見つけたことを印刷したい

私は最適化されたアルゴリズムを必要としていることを考慮に入れて、これは最善の解決策であり、コンピュータの各文字をチェックするものではありません。

+0

最後にあったバーは、次の行の先頭にあったが、fooとbarは何であったか、あなたがfoobarにしてfooのを探していた場合実際にはテキスト中の個々の単語? –

+0

もしそれらが個別の単語だったら、それらの間にスペースがなければならないので、バーの前に空白があります(改行の始めに) – spoke

+0

常に先導スペースがありますか?また、ファイルサイズに関してはどれくらいの大きさの話をしていますか?合理的であれば、単純に行を削除して結合することができます。 –

答えて

0

形式のこの種を使用してみてください:

word in "".join(line.strip() for line in text) 

Here is a demo

+0

私は大きいファイルを持っている場合、これは問題を起こさないだろう(100Mbを超えるかもしれない) – spoke

+0

あなたにとって何が問題なの? – Onilol

+0

@spoke利用可能なメモリの量によって異なりますが、私の低予算PCには4GBがあります。あなたの選択肢は、バッファリングにありますが、_jonotoronto_で提案されている方法に似ています。 – gboffi

関連する問題