使用python拆分段落

时间:2014-06-26 09:14:01

标签: python string replace split paragraph

如何以有序的方式分隔整段? 例如: 正下方是一个字符串

  目的:评估印度斯利那加政府医学院野外实习领域成年人创伤后应激障碍(PTSD)的患病率。方法学:本研究具有横断面性质,并在政府医学院斯利那加的野外实习区。选择了由各个村庄组成的斯利那加政府医学院的三个实习区域。其中10%的村庄是通过随机抽样方法选出的,然后是10%的家庭通过系统随机抽样再次进行选择。在选定的家庭中,选择所有成年人群(18岁及以上),并使用一般健康问卷(GHQ)进行筛查。对PTSD(创伤后应激障碍)筛查阳性的患者进行评估从列出阳性病例的行中,计算患病率。结果:在总共3400名受试者(年龄≥1岁)中,一般人群中创伤后应激障碍的发生率为3.76%。女性患病率较高(卡方检验= 2.086,p> 0.05(不显着)。大多数病例发现在0-40岁年龄组。大多数病例未婚,文盲,属于较低的社会经济阶层。近一个人的死亡是主要的创伤事件。急性起源的创伤后应激障碍是最常见的类型,12%的患者曾发现精神疾病的既往病史,22.6%的患者存在药物滥用。结论:我们的研究结果清楚表明创伤后应激障碍(PTSD)是发展中国家普遍存在的疾病,特别是在易受灾害的地区和政治动荡地区。多年来克什米尔各种创伤事件的复原力已经形成,这可能解释了Post的流行率较低我们研究中的创伤性疾病(PTSD)。'“

使用python,我希望将上面的结果实现为像这样的几个段落......

  

“'目的:评估印度斯利那加政府医学院野外实习领域成人创伤后应激障碍(PTSD)的患病率。

     

方法:本研究具有横断面性质,在政府医学院斯利那加的野外实践领域进行。选择了包括各个村庄在内的斯利那加政府医学院的三个野外实习区。其他10%的村庄是通过随机抽样方法选出的,然后10%的家庭通过系统随机抽样再次获得。在选定的家庭中,所有成年人(18岁及以上)均使用一般健康问卷(GHQ)进行筛选和筛选。对PTSD(创伤后应激障碍)筛查阳性的患者进行评估和诊断。从列出阳性病例的行中,计算了患病率。

     

结果:在总共3400名受试者(年龄> / = 18岁)中,一般人群中创伤后应激障碍的患病率为3.76%。女性患病率较高(卡方检验= 2.086,p> 0.05(不显着)。大多数病例发现在0-40岁年龄组。大多数病例未婚,文盲,属于较低的社会经济类别。近一个人的死亡是一个重大的创伤事件。急性发作创伤后应激障碍是最常见的类型,12%的患者曾发现精神疾病的既往病史,22.6%的患者存在药物滥用。

     

结论:我们的研究结果清楚地表明,创伤后应激障碍(PTSD)是发展中国家普遍存在的疾病,特别是在易受灾害地区和政治动荡地区。多年来,克什米尔的各种创伤事件的复原力已经发展,这可能解释了我们研究中创伤后疾病(PTSD)患病率较低的情况。'“

最后,我想用obj,方法,结果和结论将每个段落存储到一个字符串中。 我怎么能这样做?

这是我使用的代码:

   content = repr(content).replace(".", ".\n")

但有了这些,文本中的百分比如22.6%将被分成另一行。

已编辑:如果字符串属于列表中的对象,该怎么办?

content = record.get("AB")

content = re.split(r"\B\s(?=[^\s:]+:)", content)

它有效吗?

1 个答案:

答案 0 :(得分:4)

您可以在非字字符(例如标点符号)后面的空白处拆分,然后是单个字,后跟冒号:

obj, method, result, conclusion = re.split(r"\B\s(?=[^\s:]+:)", subject)

如果有四个符合这些规则的子串,那将会有效。

然而,似乎更具体的方法可能更好:

>>> regex = re.compile(r"""Objective:\s(.*?)Methodology:\s(.*?)
...                        Results:\s(.*?)Conclusion:\s(.*)""", re.S|re.X)
>>> obj, method, result, conclusion = regex.match(subject).groups()

(其中subject包含您的输入字符串)。