![](/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.