检查字符串是否包含 Python 中的任何大写字母

目录

Check if a string contains any Uppercase letters in Python

  1. 检查字符串是否包含 Python 中的任何大写字母
  2. 使用 for 循环检查字符串是否包含任何大写字母
  3. 使用 re.search() 检查字符串是否包含任何大写字母

检查字符串是否包含 Python 中的任何大写字母

检查字符串是否包含任何大写字母:

  1. 使用生成器表达式迭代字符串。
  2. 使用str.isupper()方法检查每个字符是否为大写。
  3. 如果任何字符满足条件,则该字符串包含大写字母。
主程序
my_str = 'Bobby' contains_uppercase = any(char.isupper() for char in my_str) print(contains_uppercase) # 👉️ True if contains_uppercase: # 👇️ this runs print('The string contains uppercase letters') else: print('The string does NOT contain any uppercase letters') # -------------------------------------------------- # ✅ Extract the uppercase letters from a string my_str = 'BOBBYhadz123' only_upper = ''.join(char for char in my_str if char.isupper()) print(only_upper) # 👉️ BOBBY only_upper = [char for char in my_str if char.isupper()] print(only_upper) # 👉️ ['B', 'O', 'B', 'B', 'Y']

我们使用生成器表达式来迭代字符串。

生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们使用该str.isupper()方法检查当前字符是否为大写字母。

str.isupper
方法返回
如果字符串中的所有大小写字符都是大写并且字符串包含至少一个大小写字符,否则
返回TrueFalse

主程序
my_str = 'BOBBYHADZ.COM' all_uppercase = my_str.isupper() print(all_uppercase) # 👉️ True

any函数接受一个可迭代对象作为参数,如果可迭代对象中的任何元素为真则返回。True

主程序
my_str = 'Bobby' contains_uppercase = any(char.isupper() for char in my_str) print(contains_uppercase) # 👉️ True if contains_uppercase: # 👇️ this runs print('The string contains uppercase letters') else: print('The string does NOT contain any uppercase letters')
如果字符串中的任何字符满足条件,则函数短路并返回 any()True

或者,您可以使用for 循环

使用 for 循环检查字符串是否包含任何大写字母

这是一个三步过程:

  1. 使用for循环遍历字符串。
  2. 使用str.isupper()方法检查每个字符是否为大写字母。
  3. 如果满足条件,则将变量设置为True并跳出循环。
主程序
contains_uppercase = False my_str = 'Bobby' for char in my_str: if char.isupper(): contains_uppercase = True break print(contains_uppercase) # 👉️ True

我们使用for循环来遍历字符串。

在每次迭代中,我们检查当前字符是否为大写字母。

如果满足条件,我们将contains_uppercase变量设置为True并跳出循环for

break语句跳出最内层的封闭for循环while

使用 re.search() 检查字符串是否包含任何大写字母

或者,您可以使用该re.search()方法。

re.search()如果字符串包含大写字母,该方法将返回一个匹配对象,否则None返回。

主程序
import re def contains_uppercase(string): return bool(re.search(r'[A-Z]', string)) if contains_uppercase('Bobby'): # 👇️ this runs print('The string contains uppercase letters') else: print('The string does NOT contain any uppercase letters') print(contains_uppercase('A b c')) # 👉️ True print(contains_uppercase('abc 123')) # 👉️ False print(contains_uppercase('')) # 👉️ False print(contains_uppercase(' ')) # 👉️ False

re.search方法查找字符串中提供的正则表达式产生匹配项的第一个位置

如果该re.search()方法找到匹配项,它将返回一个对象,否则返回。 matchNone

我们传递给该方法的第一个参数re.search()是一个正则表达式。

方括号[]用于指示一组字符。

这些A-Z字符代表一系列大写字母。

我们使用
bool()
类将
match对象转换为TrueNone将值转换为False

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: