2016-08-05 33 views
0

単語「月」を8月の単語のテキストに置き換えますか?Pythonは文字列(大文字または小文字)を別の文字列に置き換えます。

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

問題は大文字小文字を「月」で問題にしたくないということです。月が大文字か小文字(または混合)かどうかにかかわらず、8月に上書きされます。以下の例を参照してください。

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

どうすればよいですか?

答えて

2

使用(re moduleを介して)正規表現:インポートすることなく、それのスポーツのため

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

import re 

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

re.IGNORECASE flagは大文字と小文字を区別せずにテキストと一致する正規表現エンジンに指示何でも:

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

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

これは、sのすべてのものをAugustと置き換えます。s.lower()month

の場合
関連する問題