Python의 casefold() 함수는 문자열의 모든 글자를 소문자로 변환하는 데 유용한 내장 메서드입니다. 두 문자열에 이 함수를 적용하면 글자의 대소문자 종류와 상관없이 값을 일치시켜 비교할 수 있습니다. 참고로 casefold()는 일반적인 lower()보다 더 공격적으로 소문자화를 수행하기 때문에, 독일어의 'ß'처럼 특수한 대소문자 규칙을 가진 문자까지도 처리할 수 있어 국제화(i18n) 작업에 특히 적합합니다.
casefold() 적용하기
아래 예제에서는 문자열에 casefold() 함수를 적용하여 모든 글자가 소문자로 변환된 결과를 확인해 보겠습니다.
예제
string = "BestTutorials"
# 소문자로 변환된 문자열 출력
print(" lowercase string: ", string.casefold())출력
위 코드를 실행하면 다음과 같은 결과가 나옵니다 −
Lowercase String: besttutorials
casefold()를 활용한 문자열 비교
casefold() 함수를 적용하면 같은 글자로 이루어져 있지만 대소문자가 다른 두 문자열도 동일하게 취급하여 비교할 수 있습니다. 비교 결과 두 문자열이 서로 같다는 것을 확인할 수 있습니다. 이는 사용자 입력 검증, 검색 기능, 아이디 중복 확인 등 대소문자를 구분하지 않아야 하는 상황에서 매우 유용하게 활용됩니다.
예제
string1 = "Hello Tutorials"
string2 = "hello tutorials"
string3 = string1.casefold()
if string2 == string3:
print("String2 and String3 are equal")
elif string1 != string3:
print("Strings are not equal")출력
위 코드를 실행하면 다음과 같은 결과가 나옵니다 −
String2 and String3 are equal
정리하면, casefold()는 문자열을 소문자로 통일한 뒤 대소문자 차이를 무시하고 안정적으로 비교할 수 있게 해주는 강력한 도구입니다. 영문 데이터뿐 아니라 다양한 언어권의 텍스트를 다룰 때 lower()보다 더 견고한 결과를 보장하므로, 대소문자 무시 비교가 필요하다면 casefold() 사용을 권장합니다.