2016-08-05 1 views
0

저는 "월"이라는 단어를 "August"라는 단어로 대체하려고합니다.파이썬은 문자열 (대문자 또는 소문자)을 다른 문자열로 바꿉니다.

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는 대문자와 소문자를 구별하지 않고로 텍스트와 일치하는 정규 표현식 엔진을 알려줍니다 아무것도 :

August으로 바꿉니다. s.lower()month

인 경우 모든 것을 대체합니다.
관련 문제