Python用另一个字符串替换字符串(大写或小写)

时间:2016-08-05 06:50:49

标签: python python-2.7

我想用8月份的单词替换单词?月份。

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

问题是我不希望大写或小写重要吗?月份。无论如何?月份是大写或小写(或混合),它将被8月覆盖。请参阅以下示例:

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

我该怎么做?

2 个答案:

答案 0 :(得分: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'

答案 1 :(得分:0)

对于它的运动,不进口任何东西:

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的每次出现