2016-03-21 83 views
0

我試圖從JSON字符串中提取關鍵字並獲取該單詞的上下文。我的字符串看起來像:正則表達式:獲取帶空格的重音字母

JSON

{"1" : "Na casa de meu Pai há muitos aposentos; se não fosse assim, eu lhes teria dito. Vou preparar-lhes lugar."} 

目前,我的Python代碼是:

的Python

re.findall(regex, string) 

我想提供一個字(如)並獲取關鍵字前後的單詞。我的腳本將計算關鍵字的所有出現次數並製作上下文單詞列表。

我的問題是:如何使用空格,逗號,點等獲得重音字母?什麼是最好的方法:列出所需的字符或排除不需要的?喜歡的東西:

([^\"]+)Pai([^\"$]+) 
+2

最好的方法是使用'JSON'分析器和字符串函數。 – Jan

回答

1

通過json.load()json.loads()裝入JSON數據,然後使用nltk.ConcordanceIndex,這將有助於你去探索文本,例如圍繞一個特定的詞的話:

import nltk 

text = 'Na casa de meu Pai há muitos aposentos; se não fosse assim, eu lhes teria dito. Vou preparar-lhes lugar.' 
tokens = nltk.word_tokenize(text) 

c = nltk.ConcordanceIndex(tokens, key=lambda s: s.lower()) 
result = [] 
for offset in c.offsets('Pai'): 
    result += tokens[offset - 2: offset] 
    result += tokens[offset + 1: offset + 3] 

print(result) 

打印['de', 'meu', 'há', 'muitos']

相關問題