我有一个unicode编码的malayalam文本文件说a.txt。我将该文本文件中的每个单词存储到列表中。所以列表包含文本中的每个单词。
例如
text="അവള് പൊട്ടിക്കരഞ്ഞുകൊണ്ട് നൈല് നദീതീരം മുഴുവന് തന്റെ
കാമുകന്റെ ശരീരഭാഗങ്ങള്ക്കായി അലഞ്ഞുനടന്നു. ഒരുപക്ഷെ, മറെറാരു
പുരാണ-ഐതിഹ്യ കാവ്യങ്ങളിലും ഇത്ര ഹൃദയസ്പര്ശിയായ ഒരു തിരച്ചിലിന്റെ
കഥ വിവരിക്കപ്പെട്ടിട്ടുണ്ടാവില്ല."
但句子边界也附在句子的最后一个单词上。像[അലഞ്ഞുനടന്നു.]
我想像[അലഞ്ഞുനടന്നു] [.]
[വിവരിക്കപ്പെട്ടിട്ടുണ്ടാവില്ല] [.]
我这样做
with codecs.open(r"C:\Users\cusat\Documents\Python Scripts\test document.txt",encoding="utf-8") as fpnr:
text=fpnr.read()
text_of_sentences=segmentize(text)
fpnr.close()
for sentence in text_of_sentences:
if len(sentence) > 1:
sentences.append(worder(sentence))
#print sentences
for sentence in sentences:
#print sentence
for word in sentence:
#print word
trimdwrds=trim(word)
wordses.append(trimdwrds)
for word in wordses:
if len(word) >= 1:
re.sub(r'([\u0900-\u097F]+)(\.)(\s*)', r'\1 \2', word)
答案 0 :(得分:2)
import re
words = [word for word in re.split('\s|(\.)', text) if word]
print(words)
['അവള്', 'പൊട്ടിക്കരഞ്ഞുകൊണ്ട്', 'നൈല്', 'നദീതീരം', 'മുഴുവന്', 'തന്റെ', 'കാമുകന്റെ', 'ശരീരഭാഗങ്ങള്ക്കായി', 'അലഞ്ഞുനടന്നു', '.', 'ഒരുപക്ഷെ,', 'മറെറാരു', 'പുരാണ-ഐതിഹ്യ', 'കാവ്യങ്ങളിലും', 'ഇത്ര', 'ഹൃദയസ്പര്ശിയായ', 'ഒരു', 'തിരച്ചിലിന്റെ', 'കഥ', 'വിവരിക്കപ്പെട്ടിട്ടുണ്ടാവില്ല', '.']
这会将您的text
字符串拆分为空格或.
,但它会保留.
,因为它位于正则表达式中的捕获组中。然后它从分割中过滤掉空字符串。