
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Check If a String Contains Certain Characters in Python
In this article, we are going to find out how to check if a string contains only certain characters in Python.
The first approach is by using sets. We will declare a set with all the characters that are acceptable and we will check if the input string is a subset of the acceptable characters, if it is a subset then we will print True otherwise print False.
Similar to sets in mathematics, sets are a type of data structure in Python. The order of the elements in a set is arbitrary and it could contain a variety of them. You can add and remove elements from a set, iterate over the set's components, and perform other typical operations on sets (union, intersection, difference)
Example
In the example given below, we are taking strings as input and we are checking if the strings are made up of only specific characters using sets ?
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))
Output
The output of the above example is given below ?
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
Using Regular Expressions
The second approach is by using Regular expressions. We will use the re.match() method of the regular expressions library. In the pattern, we will give the characters that we would like to want in the string, if there are any other characters in the string, then False is returned, else True is returned.
Example 1
In the example given below, we are taking a string as input and we are checking if it contains only [a, b, c, d] using the regular expressions ?
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)))
Output
The output of the above example is as shown below ?
The given string is abcdabcd Checking if the given string contains only specific characters True
Example 2
In the example given below, we are taking the same program as above but we are taking a different string as input ?
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)))
Output
The output of the above example is given below ?
The given string is abcde Checking if the given string contains only specific characters False
Using Character list
The third approach is by making a list of wanted characters and we will check if the characters present in the string belong to this list or not. If all the characters are not belonging to the character list, then False is returned, else True is returned.
Example
In the example given below, we are taking an acceptable_chars list and we are checking in the string if the characters do belong to the acceptable_chars list or not ?
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))
Output
The output of the above example is as shown below ?
The given string is abcabcd Checking if the given string contains only specific characters True