如何在Python中检查字符串是否只包含特定字符?

如何在Python中检查字符串是否只包含特定字符?

在本文中,我们将找出如何在Python中检查字符串是否仅包含特定字符。

第一种方法是使用集合。我们将声明一个包含所有可接受字符的集合,并检查输入字符串是否是可接受字符的子集,如果是子集,则打印True,否则打印False。

类似于数学中的集合,集合是Python中的一种数据结构。集合中元素的顺序是任意的,它可以包含各种元素。您可以向集合中添加和删除元素,迭代集合的组件,并执行其他典型的集合操作(联合,交集,差异)。

阅读更多: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))

输出

上面示例的输出如下:

给定字符串为
1234654185
检查是否仅包含{'7','4','6','2','3','9','5','1','0','8'}
True
给定字符串为
12346@
检查是否仅包含{'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("给定的字符串为")
print(str1)

print("检查给定字符串是否仅包含特定字符")
print(bool(re.match('^[abcd]+$', str1)))

输出

上面示例的输出如下:

给定字符串为
abcdabcd
检查给定字符串是否仅包含特定字符
True

样例2

在下面的示例中,我们采用与上面相同的程序,但输入一个不同的字符串。 -

import re
str1 = "abcde"

print("给定的字符串为")
print(str1)

print("检查给定字符串是否仅包含特定字符")
print(bool(re.match('^[abcd]+$', str1)))

输出

上面示例的输出如下:

给定字符串为
abcde
检查给定字符串是否仅包含特定字符
False

使用字符列表

第三种方法是制作一个想要的字符列表,并检查字符串中的字符是否属于此列表。如果所有字符都不属于字符列表,则返回False,否则返回True。

样例

在下面的示例中,我们采用一个acceptable_chars列表,并检查字符串中的字符是否属于该acceptable_chars列表。 -

acceptable_chars = ['a','b','c','d']
str1 = "abcabcd"

print("给定的字符串是")
print(str1)

validation = [i in acceptable_chars for i in str1]
print("检查给定的字符串是否仅包含特定字符")
print(all(validation))

输出

上述示例的输出如下所示−

给定的字符串是
abcabcd
检查给定的字符串是否仅包含特定字符
True

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程