Python 3.3+Строки (str)функция
str.casefold
регистр
Как lower(), но агрессивнее — для регистронезависимого сравнения (напр. ß → ss).
Синтаксис
s.casefold()
На ASCII и кириллице casefold() и lower() дают одинаковый результат — разница вылезает там, где одна и та же буква пишется по-разному: немецкое ß, греческая конечная сигма ς и подобное. Отсюда правило: сравнивать строки без учёта регистра — через casefold(), показывать пользователю — через lower(), потому что casefold может поменять и буквы, и длину строки, и обратно это не разворачивается.
Примеры
print('Straße'.casefold()) # → strasse
print('ß'.casefold() == 'ss') # → True
print('HeLLo'.casefold()) # → hello
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности