在Python RE中匹配模式的前后

2024-09-30 18:34:52 发布

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

我有以下字符串。你知道吗

string1 = "按照由 GPV 提供的相关报告; 世界卫生组织 WHO 发布的有关研究"
string2 = "\n\n 介绍 INTRODUCTION"

如何删除汉字和英文首字母缩略词之间的空格?你知道吗

预期结果是: "按照由GPV提供的相关报告; 世界卫生组织WHO发布的有关研究"。你知道吗

但是,re模式应该而不是删除介绍INTRODUCTION之间的空格,因为INTRODUCTION的右侧没有汉字。你知道吗


Tags: 字符串re报告模式introduction空格whostring1
1条回答
网友
1楼 · 发布于 2024-09-30 18:34:52

如果您可以使用第三方regex实现模块regex,那么它支持\p{script}令牌,这使此任务变得简单:

\p{Han}+\s+\p{Latin}+\s+\p{Han}+

不幸的是,Python原生的re不支持这些。你知道吗

要删除空格,请使用捕获组来选择周围的单词并引用替换模式中的单词:

Match          (\p{Han}+)\s+(\p{Latin}+)\s+(\p{Han}+)
Replace by     \1\2\3

相关问题 更多 >