2014-06-18 58 views
-4

我的文件是這樣的:我怎樣才能從文本文件中搜索特定的字符串?

檢討/總結:美麗的基本泵...審覈/文:......但不是 足夠的大小或顏色。符合我的尺碼8-1/2尺碼。底部 鞋底完全光滑...需要某種紋理或踩到 有助於防止滑倒。評論/文字:這真是太神奇了。首先,這一款是 不是原創的吉爾零,而是Gil Zero TD,這意味着它不具備任何技術。不過,它是我知道的最舒服的運動鞋 。沒有昂貴的技術,它的中底更柔軟,更持久。它的鞋面變成真正的 皮革,它變得更適合腳部。這個變化使得它的運動鞋甚至比昂貴的運動鞋更好,只爲 偉大的設計的一個真正的偉大的運動鞋,但不爲無用,對我們來說 普通人不是超級巨星,技術。在球場上,我發現它足夠的墊子,它可以給你更多的速度,優秀的 一個後衛或小前鋒。

我想提取字符串,如quick serviceexcellent serviceamazon is greatexcellent customer service

我的代碼看起來是這樣的:

def ethos(file): 
    f = open(file) 
    raw = f.read() 
    tokens = nltk.sent_tokenize(raw) 
    text = nltk.Text(tokens) 
    sents = [] 
    matching_strings = ['thanks amazon' , 'great service' , 'reasonable shipping time' , 'quick service'] 
    for tokens in text: 
     if tokens in matching_strings: 
      sents.append(tokens) 
    return sents 

我的輸出是空白的,請讓我知道如何處理它是正確的,我是非常新的語言處理

+0

http://stackoverflow.com/questions/674764/examples-for-string-find-in-python –

+0

定義 「提取」 – timgeb

回答

0

我從來沒有使用nltk,但我會猜測解決方案。由於您的令牌是句子,因此您需要在令牌中查找匹配的字符串,而不是像現在這樣使用其他方式。你的for循環應該是這樣的:

for tokens in text: 
    for match in matching_strings: 
     if match in tokens: 
      sents.append(tokens) 
      break 
return sents 
相關問題