如何在 Python 中检查字符串是否仅包含特定字符?
在这篇文章中,我们将了解如何在 Python 中检查字符串是否仅包含特定字符。
第一种方法是使用集合。我们将声明一个包含所有可接受字符的集合,并检查输入字符串是否是可接受字符的子集,如果是子集,则打印 True,否则打印 False。
类似于数学中的集合,集合是 Python 中的一种数据结构。集合中元素的顺序是任意的,并且可以包含各种元素。您可以向集合中添加和删除元素,遍历集合的组件,并对集合执行其他常见操作(并集、交集、差集)
示例
在下面给出的示例中,我们正在获取字符串作为输入,并且我们正在使用集合检查字符串是否仅由特定字符组成−
def acceptableChars(str): validation = set(str) print("Checking if it contains only ",acceptable_chars) if validation.issubset(acceptable_chars): return True else: return False acceptable_chars = set('0123456789') str1 = "1234654185" print("The given string is") print(str1) print(acceptableChars(str1)) str2 = "12346@" print("The given string is") print(str2) print(acceptableChars(str2))
输出
上面示例的输出如下所示−
The given string is 1234654185 Checking if it contains only {'7', '4', '6', '2', '3', '9', '5', '1', '0', '8'} True The given string is 12346@ Checking if it contains only {'7', '4', '6', '2', '3', '9', '5', '1', '0', '8'} False
使用正则表达式
第二种方法是使用正则表达式。我们将使用正则表达式库的re.match()方法。在模式中,我们将给出我们希望在字符串中出现的字符,如果字符串中存在任何其他字符,则返回 False,否则返回 True。
示例 1
在下面给出的示例中,我们正在获取字符串作为输入,并且我们正在使用正则表达式检查它是否仅包含 [a, b, c, d]−
import re str1 = "abcdabcd" print("The given string is") print(str1) print("Checking if the given string contains only specific characters") print(bool(re.match('^[abcd]+$', str1)))
输出
上面示例的输出如下所示−
The given string is abcdabcd Checking if the given string contains only specific characters True
示例 2
在下面给出的示例中,我们正在使用与上面相同的程序,但我们正在获取不同的字符串作为输入−
import re str1 = "abcde" print("The given string is") print(str1) print("Checking if the given string contains only specific characters") print(bool(re.match('^[abcd]+$', str1)))
输出
上面示例的输出如下所示−
The given string is abcde Checking if the given string contains only specific characters False
使用字符列表
第三种方法是创建一个所需字符的列表,然后我们将检查字符串中存在的字符是否属于此列表。如果并非所有字符都属于字符列表,则返回 False,否则返回 True。
示例
在下面给出的示例中,我们正在获取一个 acceptable_chars 列表,并且我们正在字符串中检查字符是否属于 acceptable_chars 列表−
acceptable_chars = ['a','b','c','d'] str1 = "abcabcd" print("The given string is") print(str1) validation = [i in acceptable_chars for i in str1] print("Checking if the given string contains only specific characters") print(all(validation))
输出
上面示例的输出如下所示−
The given string is abcabcd Checking if the given string contains only specific characters True
广告