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