2016-04-17 12 views
0

我々はこれをどのように例えば、特定の言葉で始まり、終わるテキストファイル内の文章を見つけるために「」で始まり、「u'.Iで終わる文章が特定の単語や文字で始まり、終わるテキストファイルの文章を印刷しますか?

def main(): 
    f=open('D:\\file.txt') 
    print 'The lines that starts with The and Ends with u' 
    for line in f: 
    for j in line.split('.'): 
     if j[0]=='T' and j[1]=='h' and j[2]=='e' and j[3]==' ' and j[-1]=='u': 
      print j 
if __name__ == '__main__':main() 

を試してみましたが、代わりに文字比較の操作を行うことができます単語の比較を使用して?

答えて

0

あなたは、文字列との比較を行うためにstartswithendswithを使用することができます。

print 'The lines that starts with The and Ends with u' 

with open('test.txt') as f: 
    for line in f: 
     line = line.strip() 
     if line.startswith('The') and line.endswith('u'): 
      print line 
+0

文は、通常、句読点のいくつかの種類ではなく、文字:) – jim

+1

真で終了しますが、そこには例えば、入力ませんし、与えられたコードは、1は、いくつかの仮定を行うことがある行についてのメッセージを出力することを考えます。とにかく 'startswith'と' endswith'を使って、文章や行が正しく読み込まれて構築されている限り、問題を解決します。 – niemmi

0

あり、「文章」と夫婦より洗練されたものを(読むためにいくつかの簡単な方法があるが、それらは多くの優れている - たとえば、 NLTK)。 Python split text on sentences

「行」ではなく「文章」を抽出したら、比較のためにあなた自身のコードを使うことができます。

0
import re 

x = 'The lines that starts with The and Ends with u' 

print(re.findall(r'\A(The)\s(\w+\s)+u\Z',x)) 
+0

これは何を説明するのが良いです。あなたのような回答は低品質投稿に自動的に入れられ、人々は削除するかどうかを判断する必要があります。 –

+0

私はそれを知らなかった。私に教えてくれてありがとう。 説明: 正規表現を使用して要件を見つけようとしました。だから、正規表現を使用するためにreモジュールをインポートしてから、式の後に\ A-は文字列の先頭に存在するかどうかをチェックし、\ sは最初の単語の後に続くスペース(\ w + \ s)一連のリテラルの後ろにスペースがあることを意味し、+は少なくとも1つ以上のマッチ、最後にはU \ Zを意味します。ここで、\ Zは文字列の最後に 'u'があることを意味します。 –

関連する問題