2013-07-02 129 views
0

我有一個包含自然文本的大字符串。只保留python中的字符串中的特定句子

現在我想編寫一個代碼,只打印包含單詞「but」的字符串中的句子。 通常我會寫這樣的事:

from nltk.tokenize import sent_tokenize, word_tokenize 
file1 = open ('text.txt', 'r') 
str1 = file1.read() 
sent=sent_tokenize(str1) 
word=word_tokenize(str1) 
but=["but"] 
for w in word: 
    if w in but: 
     print sent 

但這ofcourse無法正常工作,這句話不再保留,大家有什麼idead? 因此,我不只是需要的單詞「而是」 x次,我需要的句子它發生英寸

感謝

+1

將所有行加載到列表中,並檢查行是否包含「but」。 –

回答

2
file1 = open ('text.txt', 'r') 
str1 = file1.read() 
sent = sent_tokenize(str1) 
for s in sent: 
    if 'but' in s: 
     print s 

將這段代碼不行?

+0

是的!它就像一個魅力,非常感謝你。當我終於看到它的時候,答案總是如此明顯。 – Shifu

相關問題