如何检查字符串是否只包含某个字符?
string_to_check = "aaaaaa"
character = "a"
我试过了
elif " " in cmd:
return print(Fore.RED + f"Input cannot be nothing.")
但是这适用于字符串中的字符,我想只应用字符串中的字符…例如
does_contain_only("a", "aaaaaa") # True
does_contain_only("a", "aaaaba") # False
虽然我不知道任何命令/函数来做这个,
您可以检查字符串是否只包含某个字符,如下所示:
def does_contain_only(char, string):
return all([c == char for c in string])
print(does_contain_only("a", "aaaaa")) # True
print(does_contain_only("a", "aaaba")) # False
一个简短的解决方案:
set(string_to_check) == {'a'}
# Or, as a function:
def does_contain_only(character, target):
return set(target) == { character }
您没有指定检查空字符串是否应该返回True或False。当然,空字符串中的每个字符都是'a'
。每个字符也是'b'
。这两种情况都是如此,因为空字符串中没有字符,所以"每个字符"都是"x";对于任何谓词X都为真(即使X不能对任何字符都为真)。
有时这是你想要的,有时不是。我上面的解决方案为空字符串返回False,而可能更明显的all(ch == character for ch in target)
将返回True。