您可以使用正则表达式来查找字符串中大写字母的数量。
import re
regex = "[A-Z]" # Matches only capital letters
string1 = "Not too many caps here"
string2 = "FULL of CAPS"
使用findall 方法获取所有匹配项
>>> re.findall(regex, string1)
['N']
>>> re.findall(regex, string2)
['F', 'U', 'L', 'L', 'C', 'A', 'P', 'S']
这将返回一个包含所有匹配项的list。您现在可以通过检查列表的长度是否大于 4 来检查字符串是否包含四个以上的大写字母。
但是,请注意,检查字母的百分比是否为大写而不是固定数量通常更好。
>>> string3 = "This string might appear to not contain too many Capital Letters. But, it still triggers the response since the number of Capital Letters is greater than 4.
>>> re.findall(regex, string3)
['T', 'C', 'L', 'B', 'C', 'L'] # 6 capital letters