首页 > 解决方案 > Python:从文件中分割句子

问题描述

我有一个像这样的文件 data.txt :

<<a
<<t This is a title 01
/t>>
<<c
This is a sentence. This is a sentence. This is a sentence. This is a sentence.
This is a sentence. This is a sentence. This is a sentence. This is a sentence.
/c>>
/a>>
<<a
<<t This is a title 02
/t>>
<<c
This is a sentence. This is a sentence. This is a sentence. This is a sentence.
This is a sentence. This is a sentence. This is a sentence. This is a sentence.
/c>>
/a>>

我想读取文件并将每个句子拆分为如下列表:

[[This is a title 01],[This is a sentence.],[This is a sentence.]...[This is a title 02],[This is a sentence.]...]

在此先感谢您的帮助。

标签: pythonpython-3.x

解决方案


您可以尝试以下方法-

result = []
with open('data.txt', 'r') as f:
  for line in f:
    if "This is a title" in line:
      cleaned_line = line.lstrip('<<t').strip()
      result.append(cleaned_line)
    elif line.startswith("This is a sentence"):
      sentence_list = line.split('.')
      for _ in sentence_list:
        result.append(_)

这是如何工作的?
打开文件,逐行迭代。提取标题。条带<<t和空格。
要提取句子,只需在句点 (.) 处拆分行字符串。然后将所有内容附加到result列表中。
编辑:
注意:您最终将拥有一个字符串列表。由于您是 Python 新手,我将把它作为练习留给您,让您将字符串列表转换为列表列表。它应该非常简单。


推荐阅读