检查字符串是否只包含python中的某个字符



如何检查字符串是否只包含某个字符?

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。

相关内容

  • 没有找到相关文章

最新更新