Python 中不区分大小写的字符串比较

Muhammad Maisam Abbas 2023年1月30日
  1. 使用 lower() 方法进行不区分大小写的字符串比较
  2. 使用 upper() 方法进行不区分大小写的字符串比较
  3. 使用 casefold() 方法进行不区分大小写的字符串比较
Python 中不区分大小写的字符串比较

本教程将讨论在 Python 中对两个或多个字符串变量进行不区分大小写比较的一些方法。

使用 lower() 方法进行不区分大小写的字符串比较

Python 字符串有一个内置的 lower() 方法,可以将字符串中的所有字符转换为小写字母。它返回一个将所有字符转换为小写字母的字符串。我们可以使用 lower() 方法将两个字符串转换为小写,然后对它们进行不区分大小写的比较。

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

输出:

hello world!

现在对第二个字符串变量 normal_str2 做同样的操作。

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

输出:

hello world!

正如我们所看到的,两个字符串都被转换为所有小写字符。下一步是比较两个字符串变量并显示输出。

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")

输出:

Both variables are equal

使用 upper() 方法进行不区分大小写的字符串比较

上节课介绍了如何使用 lower() 方法进行不区分大小写的字符串比较。使用 upper() 方法的逻辑是一样的。我们要在这两种方法中把现有的字符串变量改成大写或小写字符。upper() 方法是字符串类的内置方法,可以将一个字符串变量的所有字符转换为大写字母。

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")

输出:

Both variables are equal

使用 casefold() 方法进行不区分大小写的字符串比较

casefold() 方法是一种更激进的方法,用于将字符串变量转换为小写字符。例如:

有一个德文字母'ß'已经是小写字母了,所以 lower() 方法对'ß'没有任何作用。因此,lower() 方法对'ß'没有任何作用。但是 casefold() 可以将'ß'转换为"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)

输出:

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

casefold() 方法返回一个字符串变量,在这个变量中,所有的字符都被积极地转换为小写。然后,这个新的字符串变量可以进行比较,进行不区分大小写的比较。

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")

输出:

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

相关文章 - Python String