Skip to content

如何在Python中将字符串转换为小写?

str.lower()

Python中将字符串转换为小写的标准方法是使用str.lower(),它兼容Python 2和Python 3。虽然这是大多数情况下的标准方法,但在某些情况下,特别是当您使用Unicode字符串时,这种方法可能不是最合适的选择。

'Hello'.lower()               # 'hello'
'Straße'.lower()              # 'straße'
'Straße'.upper().lower()      # 'strasse'
# 用于Unicode大小写不敏感匹配时,示例结果不正确
'Straße'.upper().lower() == 'Straße'.lower() # False ('strasse' != 'straße')

str.casefold()

Python 3引入了str.casefold(),它与str.lower()非常相似,但更加强大,因为它旨在消除Unicode字符串中的所有大小写区别。它实现了Unicode标准的第3.13节中描述的大小写折叠算法

'Hello'.casefold()            # 'hello'
'Straße'.casefold()           # 'strasse'
'Straße'.upper().casefold()   # 'strasse'
# 用于Unicode大小写不敏感匹配时,返回正确的结果
'Straße'.upper().casefold() == 'Straße'.casefold() # True