使用Python重新交换案例

时间:2010-10-19 06:37:40

标签: python regex

我正在使用re库来规范化一些文本。我想要做的一件事是将字符串中的所有大写字母替换为它们的小写等价物。最简单的方法是什么?

2 个答案:

答案 0 :(得分:7)

>>> s = "AbcD"
>>> s.lower()
'abcd'

如果你想要,还有一个swapcase方法。

请参阅:http://docs.python.org/library/stdtypes.html#string-methods

答案 1 :(得分:1)

如果您真的想使用RegEx,可以执行以下操作:

import re
def swapcase(s):
  def changecase(m):
    if m.group("lower"):
      return m.group("lower").upper()
    elif m.group("upper"):
      return m.group("upper").lower()
    else:
      return m.group(0)
  return re.sub("(?P<lower>[a-z])|(?P<upper>[A-Z])", changecase, s)
print(swapcase(input()))

编辑

如果要使用所有小写字母的文本,请尝试以下操作:

def lower(s):
  import re
  return re.sub("[A-Z]", str.lower, s)

(注意:这是AB问题的解决方案。)