snippetpythonTip
How do I convert a string to lowercase in Python?
Viewed 0 times
howlowercaseconvertpythonstring
Problem
Python's standard method for converting a string to lowercase is
Python 3 introduced
str.lower() and is compatible with both Python 2 and Python 3. While this is the standard way for most cases, there are certain cases where this method might not be the most appropriate, especially if you are working with Unicode strings.Python 3 introduced
str.casefold(), which is very similar to str.lower(), but more aggressive as it is intended to remove all case distinctions in Unicode strings. It implements the casefolding algorithm as described in section 3.13 of the Unicode Standard.Solution
'Hello'.lower() # 'hello'
'Straße'.lower() # 'straße'
'Straße'.upper().lower() # 'strasse'
# Example of incorrect result when used for unicode case-insensitive matching
'Straße'.upper().lower() == 'Straße'.lower() # False ('strasse' != 'straße')Code Snippets
'Hello'.lower() # 'hello'
'Straße'.lower() # 'straße'
'Straße'.upper().lower() # 'strasse'
# Example of incorrect result when used for unicode case-insensitive matching
'Straße'.upper().lower() == 'Straße'.lower() # False ('strasse' != 'straße')'Hello'.casefold() # 'hello'
'Straße'.casefold() # 'strasse'
'Straße'.upper().casefold() # 'strasse'
# Returns the correct result when used for unicode case-insensitive matching
'Straße'.upper().casefold() == 'Straße'.casefold() # TrueContext
From 30-seconds-of-code: lowercase
Revisions (0)
No revisions yet.