【问题标题】:Python replace string (upper or lower case) with another stringPython用另一个字符串替换字符串(大写或小写)
【发布时间】:2016-12-11 11:54:24
【问题描述】:

我想用单词 August 替换文本中的单词 ?Month。

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

问题是我不希望大写或小写在 ?Month 中很重要。无论 ?Month 是大写还是小写(或混合),它都应被 August 覆盖。请参阅以下示例:

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

我该怎么做?

【问题讨论】:

    标签: python python-2.7


    【解决方案1】:

    使用正则表达式(通过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'
    

    【讨论】:

      【解决方案2】:

      为了它的运动,不导入任何东西:

      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,这将用August 替换每次出现的s

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-13
        • 2018-09-07
        • 2011-03-01
        • 2017-11-11
        • 2023-03-21
        相关资源
        最近更新 更多