在python中检测文本中的缩写

2024-05-28 23:07:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在文本中找到缩写并删除它。我现在所做的是识别连续的大写字母并删除它们。在

但是我看到它没有删除缩写,比如MOOCsM.O.O.CM.O.O.Cs。在python中有没有一种简单的方法可以做到这一点?或者有什么库可以代替我使用吗?在


Tags: 方法文本大写字母csmoocs
2条回答

一种直观的方法是使用regex

这个正则表达式的作用是:([A-Z]\.*){2,}s?在

在python中给出:

import re
re.sub("([A-Z]\.*){2,}s?","", your_text)

如有疑问,请访问regex文档 https://docs.python.org/2/library/re.html#re.sub

reregex库可能是该作业的工具。在

为了删除每个连续大写字母的字符串,可以使用以下代码:

import re
mytext = "hello, look an ACRONYM"
mytext = re.sub(r"\b[A-Z]{2,}\b", "", mytext)

在这里,regex"\b[A-Z]{2,}\b"搜索多个连续的(由[...]{2,})大写字母(A-Z)组成一个完整的单词(\b...\b)。然后用第二个字符串""替换它们。在

regex的方便之处在于,它可以很容易地针对更复杂的情况进行修改。例如:

^{pr2}$

将替换连续的大写字母和句号,删除首字母缩写,如A.B.C.D.和ABCD。在.之前的\.一样是必需的,否则regex会将其用作一种通配符。在

?说明符也可用于删除以s结尾的首字母缩略词,例如:

mytext = re.sub(r"\b[A-Z\.]{2,}s?\b", "", mytext)

此正则表达式将删除ABCD、A.B.C.D甚至A.B.C.Ds等首字母缩略词。如果需要删除其他形式的首字母缩略词,则可以轻松修改正则表达式以适应它们。在

re库还包括findall或match函数之类的函数,允许程序单独定位和处理每个首字母缩略词。例如,如果您想查看要删除的首字母缩略词列表并检查其中是否有合法的单词,那么这可能会很有用。在

相关问题 更多 >

    热门问题