![](/img/trans.png)
[英]How to remove only the spaces that occur after a digit, and before a letter with RegEx?
[英]Python regex remove spaces only between two 1 letter words
我尝试编写如下代码:
输入:“ ab ccc”->“ ab ccc”
输入:“ aa bb”->“ aa bb”
输入:“ aa bb cd”->“ aa bb cd”
我成功编写了一个regexp模板,该模板可以找到“ ab”大小写,但是我不确定如何仅删除空格。 这是我的尝试:
import re
sentence = "a b cc"
print(sentence)
pattern = re.compile(r'[^\s]{1}\s[^\s]{1}')
sentence = re.sub(pattern, 'xx', sentence)
print(sentence)
您应该能够将这些单词与
\b([a-z]) (?=[a-z]\b)
然后替换为
\g<1>
这将匹配一个字母单词(由单词边界确保)并捕获它。 然后匹配一个空格,并确保其后是另一个单个字母词。 替换是第一个被捕获的组。
import re
sentence = "a b cc e ddd f g h"
pattern = re.compile(r'\b([a-z]) (?=[a-z]\b)', re.I)
sentence = re.sub(pattern, r'\g<1>', sentence)
print(sentence)
将输出ab cc e ddd fgh
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.