如何在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