如何在句子中找到缩写并去掉缩写中的句号

  • 本文关键字:缩写 句子 python regex nltk
  • 更新时间 :
  • 英文 :


我试图用python在一个句子中找到缩写,例如,u.s.a.等于usa,所以我想找到u.s.a.并删除这个缩写中的句号,得到usa作为结果。"我来自美国。"然后就会变成"我来自美国"如何处理?现在我只能用regex找到所有的缩写pattern = re.compile(r'(?:[a-z].){2,}'),但不能仅删除句号。

我看到(至少(2个选项:

  1. 列出缩写并查找并替换它们

  2. 如果您能够用正则表达式找到缩写,则可以执行替换(".","(-->代替"用"(什么都没有(。

您可以使用

import re
text = 'some A.B.B.R.E.V. here.'
pattern = re.compile(r'b(?:[a-z].){2,}', re.I)
text = pattern.sub(lambda m: m.group().replace('.',''), text)

请参阅Python演示。输出:

some ABBREV here.

re.sub中用作替换参数的可调用函数对找到的匹配值(分配给m(进行操作,m.group().replace('.','')从匹配中删除所有.字符,更改后的匹配用于替换找到的匹配。

最新更新