我有以下问题:我创建了一个字典(德语),其中包含单词及其相应的引理。为例: “Lagerbestände”,“Lager-bestand”; “Wohnhäuser”,“Wohn-haus”; “Bahnhof”,“Bahn-hof”
我现在有一个文本,我想检查他们的lemmata的所有单词。可能会出现一个不在字典中的单词,例如“Restbestände”。但是“bestände”的引理,我们已经知道了。所以我想把dicti中未知的单词的第一部分添加到lemmatized第二部分并将其打印出来(或返回)。 示例:“Restbestände” - > “休息-bestand”。 (“bestand”取自“Lagerbestände”的引理)
我编码了以下内容:
for limit in range(1, len(Word)):
for k, v in dicti.iteritems():
if re.search('[\w]*'+Word[limit:], k, re.IGNORECASE) != None:
if '-' in v:
tmp = v.find('-')
end = v[tmp:]
end = re.sub(ur'[-]',"", end)
Word = Word[:limit] + '-' + end `
但我遇到了两个问题:
然而;你怎么解决这个问题?
答案 0 :(得分:1)
在单词的最后,每次打印出来"&#10"。怎么能 我避免这个?
必须在脚本中的任何位置使用UNICODE
。 Everywhere, everywhere, everywhere.
此外,python RegEx函数接受您应该始终设置的标记re.UNICODE
。德语字母超出ASCII设置,因此RegEx有时会混淆,例如匹配r'\w'