您可能會也可能沒有聽說過Python IRC bot Willie。Python刪除分隔空間
我有一個trigger.group(2)對象:
'J O I N : # S t a f f'
如何使這成爲:
'JOIN :#Staff'
編輯: 基本上我想刪除字符之間的空間不刪除「真實」的空間,在N :
之間。需要注意的是該命令可以是任何與任意數量的參數:PRIVMSG
,OPER
等
您可能會也可能沒有聽說過Python IRC bot Willie。Python刪除分隔空間
我有一個trigger.group(2)對象:
'J O I N : # S t a f f'
如何使這成爲:
'JOIN :#Staff'
編輯: 基本上我想刪除字符之間的空間不刪除「真實」的空間,在N :
之間。需要注意的是該命令可以是任何與任意數量的參數:PRIVMSG
,OPER
等
既然你有交流的空間與非空間,嘗試採取一切第二個字符:
s = s[::2]
例子:
>>> 'J O I N : # S t a f f'[::2]
'JOIN :#Staff'
原來'willie.write(s)'方法是做一個'''.join(s) '。這個解決方案會修正,但我選擇完全繞過該方法。謝謝! –
我懷疑它想要一個零件清單,例如'willie.write(['JOIN',':#Staff'])'。無論如何,我很高興你解決了你的問題! – nneonneo
def rmspace_separate(string, spacelimiter=' '*2):
return ' '.join(s.replace(' ', '') for s in s.split(spacelimiter))
會工作。更改spacelimiter
以滿足您的需求。
@nneonneo是改變它。 – thkang
>>> import re
>>> text = 'J O I N : # S t a f f'
>>> re.sub(r'(?<=\S)\s|\s(?=\S)', '', text)
'JOIN :#Staff'
您能更具體地說明您想要應用於第一個字符串的轉換規則嗎?目前尚不清楚。 – ASGM
這可能是有趣的:http://stackoverflow.com/questions/7940619/squeezing-characters-with-python – squiguy