我试图用单词拆分句子。

words = content.lower().split()

这给了我像这样的单词列表
'evening,', 'and', 'there', 'was', 'morning--the', 'first', 'day.'

并使用此代码:
def clean_up_list(word_list):
    clean_word_list = []
    for word in word_list:
        symbols = "~!@#$%^&*()_+`{}|\"?><`-=\][';/.,']"
        for i in range(0, len(symbols)):
            word = word.replace(symbols[i], "")
        if len(word) > 0:
            clean_word_list.append(word)

我得到类似的东西:
'evening', 'and', 'there', 'was', 'morningthe', 'first', 'day'

如果您在列表中看到“morningthe”这个词,它曾经在词之间有“--”。现在,有什么办法可以把它们分成两个词,比如 "morning","the"

最佳答案

我会建议一个基于正则表达式的解决方案:

import re

def to_words(text):
    return re.findall(r'\w+', text)

这将查找所有单词 - 字母字符组,忽略符号、分隔符和空格。
>>> to_words("The morning-the evening")
['The', 'morning', 'the', 'evening']

请注意,如果您循环遍历单词,使用返回生成器对象的 re.finditer 可能更好,因为您不必一次存储整个单词列表。

关于python - 在python中拆分句子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41903689/

10-11 17:58