使用正则表达式删除两个字符之间的空格

时间:2019-10-03 06:59:24

标签: regex python-3.x

我正在寻找删除句子任何部分两个字符之间的空格的方法。例如,以下短语:

R Z EXCAVATING AND LOGGING
EXCAVATING R Z AND LOGGING

应该成为

RZ EXCAVATING AND LOGGING
EXCAVATING RZ AND LOGGING

我已经尝试过以下正则表达式([A-Z](.*?)[A-Z]),但无法消除两个字符之间的空格。

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

您可以使用

text = re.sub(r'\b([A-Z])\s+(?=[A-Z]\b)', r'\1', text)

请参见regex demo

详细信息

  • \b-单词边界
  • ([A-Z])-捕获组1:大写字母
  • \s+-1个以上的空格...
  • (?=[A-Z]\b)-紧随其后的是大写字母,而不是单词char(字母,数字,_)。