gpt4 book ai didi

python - 删除首字母缩略词中的点而不是域名中的点的正则表达式是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:15 24 4
gpt4 key购买 nike

我想删除首字母缩略词中的点,但不删除 python 字符串中域名中的点。例如,我想要字符串

'a.b.c. test@test.com http://www.test.com'

成为

'abc test@test.com http://www.test.com'

到目前为止我制作的最接近的正则表达式是

re.sub('(?:\s|\A).{1}\.',lambda s: s.group()[0:2], s)

结果

'ab.c. test@test.com http://www.test.com'

似乎要使上述正则表达式起作用,我需要将正则表达式更改为

(?:\s|\A|\G).{1}\.

但是在 python 中没有匹配结束标记 (\G)。

编辑:正如我在评论中提到的,字符串没有特定的格式。这些字符串包含非正式的人类对话,因此可能包含零个、一个或多个首字母缩写词或域名。如果可以避免编写“真正的”解析器,那么一些错误对我来说是可以接受的。

最佳答案

如果您的数据总是这样格式化,那么为什么不通过在空格上拆分将您的数据分成 3 部分。

然后从第一个元素中删除句点并使用 join 重新合并这些部分就非常简单了。

关于python - 删除首字母缩略词中的点而不是域名中的点的正则表达式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1279110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com