我有以下字符串。
string1 = "按照由 GPV 提供的相关报告; 世界卫生组织 WHO 发布的有关研究"
string2 = "\n\n 介绍 INTRODUCTION"
如何删除中文和英文首字母缩写词之间的空格?
预期结果是:
"按照由GPV提供的相关报告; 世界卫生组织WHO发布的有关研究"
。
但是,由于介绍
的右侧没有中文字符,因此re模式不应不要删除INTRODUCTION
和INTRODUCTION
之间的空格。 / p>
答案 0 :(得分:1)
如果您可以使用第三方正则表达式实现模块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