Comparación de cadenas sin distinción de mayúsculas y minúsculas en Python

Muhammad Maisam Abbas 30 enero 2023
  1. Comparación de cadenas sin distinción de mayúsculas y minúsculas con el método lower()
  2. Comparación de cadenas sin distinción de mayúsculas y minúsculas con el método upper()
  3. Comparación de cadenas sin distinción de mayúsculas y minúsculas con el método casefold()
Comparación de cadenas sin distinción de mayúsculas y minúsculas en Python

Este tutorial discutirá algunos métodos para hacer una comparación insensible a mayúsculas y minúsculas de dos o más variables de cadena en Python.

Comparación de cadenas sin distinción de mayúsculas y minúsculas con el método lower()

La cadena de Python tiene un método incorporado lower() que convierte todos los caracteres de la cadena a minúsculas. Devuelve una cadena con todos los caracteres convertidos a minúsculas. Podemos convertir dos cadenas a minúsculas con el método lower() y luego compararlas sin distinción de mayúsculas.

normal_str1 = "Hello World!"
lower_str1 = normal_str1.lower()
print(lower_str1)

Producción :

hello world!

Ahora haz lo mismo con la segunda variable de cadena normal_str2.

normal_str2 = "HELLO WORLD!"
lower_str2 = normal_str2.lower()
print(lower_str2)

Resultado:

hello world!

Como podemos ver, ambas cadenas han sido convertidas a todos los caracteres en minúsculas. El siguiente paso es comparar ambas variables de cadena y mostrar la salida.

normal_str1 = "Hello World!"
lower_str1 = normal_str1.lower()
normal_str2 = "HELLO WORLD!"
lower_str2 = normal_str2.lower()

if lower_str1 == lower_str2:
    print("Both variables are equal")
else:
    print("Both variables are not equal")

Producción :

Both variables are equal

Comparación de cadenas sin distinción de mayúsculas y minúsculas con el método upper()

La última sesión ha introducido cómo llevar a cabo la comparación de cadenas sin distinción de mayúsculas y minúsculas utilizando el método lower(). La lógica detrás de usar el método upper() es la misma. Queremos cambiar las variables de cadena existentes en caracteres mayúsculos o minúsculos en ambos métodos. El método upper() es el método incorporado en la clase string para convertir todos los caracteres de una variable string a mayúsculas.

normal_str1 = "Hello World!"
upper_str1 = normal_str1.upper()

normal_str2 = "hello world!"
upper_str2 = normal_str2.upper()

if upper_str1 == upper_str2:
    print("Both variables are equal")
else:
    print("Both variables are not equal")

Producción :

Both variables are equal

Comparación de cadenas sin distinción de mayúsculas y minúsculas con el método casefold()

El método casefold() es un método más agresivo para convertir una variable de cadena a caracteres en minúsculas. Por ejemplo,

Hay una letra alemana, 'ß' que ya es una letra minúscula. Por tanto, el método lower() no hace nada con 'ß'. Pero casefold() convierte 'ß' en "ss".

normal_str = "ß"
casefold_str = normal_str.casefold()
lower_str = normal_str.lower()
print("Case folded form of ß is : " + casefold_str)
print("Lower cased form of ß is : " + lower_str)

Producción :

Case folded form of ß is : ss
Lower cased form of ß is : ß

El método casefold() devuelve una variable de cadena en la que todos los caracteres se convierten agresivamente en minúsculas. Esta nueva variable de cadena puede entonces ser comparada para llevar a cabo una comparación insensible a mayúsculas y minúsculas.

normal_str1 = "Hello World ß!"
casefold_str1 = normal_str1.casefold()

normal_str2 = "Hello World ss!"
casefold_str2 = normal_str2.casefold()

if casefold_str1 == casefold_str2:
    print("Both variables are equal")
else:
    print("Both variables are not equal")

Producción :

Both variables are equal
Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artículo relacionado - Python String