python中pos括号中_如何删除nltk中斜杠之前的POS标记?

>>> import re

>>> clause = "(CLAUSE (NP Jack/NNP) (VP loved/VBD) (NP Peter/NNP))"

>>> pattern = r'\w+:?(?=\/)'

>>> re.findall(pattern, clause)

['Jack', 'loved', 'Peter']

已编辑

对于多个子句:

^{pr2}$

如果子句用换行符分隔:>>> import re

>>> pattern = r'\w+:?(?=\/)'

>>> clauses = """(CLAUSE (NP Jack/NNP) (VP loved/VBD) (NP Peter/NNP))

... (CLAUSE (NP Jack/NNP) (VP stayed/VBD) (NP in/IN London/NNP))

... (CLAUSE (NP Tom/NNP) (VP is/VBZ) (NP in/IN Kolkata/NNP))"""

>>> [re.findall(pattern, clause) for clause in clauses.split('\n')]

[['Jack', 'loved', 'Peter'], ['Jack', 'stayed', 'in', 'London'], ['Tom', 'is', 'in', 'Kolkata']]

要将输出连接到字符串中,请执行以下操作:>>> " ".join(['Jack', 'loved', 'Peter'])

'Jack loved Peter'

>>> clauses = [['Jack', 'loved', 'Peter'], ['Jack', 'stayed', 'in', 'London'], ['Tom', 'is', 'in', 'Kolkata']]

>>> [" ".join(cl) for cl in clauses]

['Jack loved Peter', 'Jack stayed in London', 'Tom is in Kolkata']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值