使用Python中的re包将句子分成子句

使用Python中的re包将句子分成子句,第1张

概述我有一个很多句子的数据,关于一个例子作为下面的句子,我想把它分成2个子句子: Both whole plasma and the d < 1.006 g/ml density fraction of plasma from 2/2 mice show this broad beta-migration pattern (Fig. 1 B) |T:**1SP3E3| ; |I:**1SP3E3| | 我有一个很多句子的数据,关于一个例子作为下面的句子,我想把它分成2个子句子:

Both whole plasma and the d < 1.006 g/ml density fraction of plasma
from 2/2 mice show this broad beta-migration pattern (fig. 1 B)
|T:**1SP3E3| ; |I:**1SP3E3| |L:**1SP3E3| in contrast,3/3 plasma shows
virtually no lipID staining at the beta-position. |T:**1SN3E3|
|I:**1SN3E3| |L:**1SN3E3|

将它拆分为:

Both whole plasma and the d < 1.006 g/ml density fraction of plasma
from 2/2 mice show this broad beta-migration pattern (fig. 1 B)

in contrast,3/3 plasma shows virtually no lipID staining at the
beta-position.

我的代码是:

newData =[]for item in Data:    test2= re.split(r" (?:\|.*?\| ?)+",item[0])    test2 =test2[:-1]    for tx in test2:        newData.append(tx)print len(newData)print newData

但是,我在结果中得到了3个项目,包括;我查了一下原来的句子,发现了,在| T:** 1SP3E3 | ; | I:** 1SP3E3 |,所以我需要删除它;从结果出来.我修改了我的代码

test2= re.split(r" (?:\|.*?\| ?;?)+",item[0])

但我无法得到正确的结果.有人可以帮忙吗?非常感谢.

解决方法
[i.strip() for i in re.sub(r'\|\w:\*\*\w*\|','',re.sub(r' +',r' ',s.strip())).split(';')]

返回

['Both whole plasma and the d < 1.006 g/ml density fraction of plasma from 2/2 mice show this broad beta-migration pattern (fig. 1 B)','in contrast,3/3 plasma shows virtually no lipID staining at the beta-position.']

但是要考虑一下,因为它取决于你的文字是否与你的例子一致.

总结

以上是内存溢出为你收集整理的使用Python中的re包将句子分成子句全部内容,希望文章能够帮你解决使用Python中的re包将句子分成子句所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存