2016-08-05 162 views
0

我想用字August替換單詞?月份的文本。Python用另一個字符串替換字符串(大寫或小寫)

text=text.replace('?Month','August') 

問題是我不希望大寫或小寫在?個月。無論月份是大寫還是小寫(或混合),8月份都會被覆蓋。請參閱下面的示例:

E.g: ?Month ->August 
?month -> August 
?MONTH -> August 
?moNth -> August 

我該怎麼做?

回答

2

使用正則表達式(通過re module):

import re 

text = re.sub(r'\?month', 'August', text, flags=re.IGNORECASE) 

re.IGNORECASE flag告訴正則表達式引擎不區分大小寫的匹配文本:

>>> import re 
>>> text = 'Demo: ?Month ?month ?MONTH ?moNth' 
>>> re.sub(r'\?month', 'August', text, flags=re.IGNORECASE) 
'Demo: August August August August' 
0

對於它的運動,而不導入任何東西:

text = text.split(' ') 
for i, s in enumerate(text): text[i] = 'August' if s.lower() == 'month' else text[i] 

print((' ').join(text)) 

如果s.lower()等於month

這將取代每個出現 s August
相關問題