如何在Python上的句子中收集特定单词?

时间:2018-03-22 10:06:06

标签: python

我在标题上写了一个问题。我将用例子来解释它。

有一个类似的txt文件,

  

该罪行因原因而被终止:非发行。备注:没有   可疑的情况。 u0t9231 21 Mar 2018 10:38:46

     

该罪行因原因而被终止:非发行。备注:预计   交通。 u0t9231 21 Mar 2018 14:20:11

我想读取那个txt文件,我想写入另一个只包含&#34的部分文件;注意:没有可疑情况。"

输入

此违规行为原因已结束:非发行。备注:没有可疑情况。 u0t9231 2018年3月21日10:38:46"

输出

Notes: There is no suspicious situation

2 个答案:

答案 0 :(得分:0)

你要做的第一件事就是把它分成句子。这可以通过在完全停止时拆分将字符串拆分为列表来完成。如果你只是想要笔记部分,那么对你刚刚拆分的句子进行迭代搜索,寻找关键词“notes”

def get_key_sentence(text):
    sentences = text.split(".")
    for sentence in sentences:
        if "notes" in sentence.lower():
            return sentence

此功能将能够评估给定的句子,然后返回所需的信息。

答案 1 :(得分:0)

您可以使用拆分,但这只适用于单个字符范围。使用正则表达式可以让您使用单词而不是分隔符来更具体地说明您正在寻找的单词。

import re

line='This offense was closed with reason: Non-Issue. Notes: There is no suspicious situation. u0t9231 21 Mar 2018 10:38:46'

found = re.search('Notes:.*', line)
print found.group(0)

输出: 备注:预期流量。 u0t9231 21 Mar 2018 14:20:11