How to Check if a Python String Contains Another String?

By | October 3, 2021
How to Check if a Python String Contains Another String?

A string is a collection of Characters and in python creating and manipulating a string is very easy as compared to the other programming languages. Python also provides us with many string methods that can be used to perform various operations on a string.

While learning python string topic, you will defiantly come across a general problem of finding a particular piece of string present in a longer string. This problem state that we have two strings One is the main string and the other is the substring, and using the code we have to create a program that could tell whether the substring is present in the main string or not.

Here we have provided different ways to solve this problem:

Python in Operator:

With the help of python in operator, we can find whether a piece of string is present in another string or not, in is a list operator, which is generally used to tell that a specific element is present in the list or not.

Example:

main_string = "Welcome to TechGeekBuzz"
sub_string = "Tech"

# condition to check whether the Tech string is present in the Welcome to TechGeekBuzz string
if sub_string in main_string: 
    print("Present")
else:
    print("Not Present")

Output:

Present

Using find() Method:

The find() method is used to find the index value of a particular element present in the list or string. If the element is present in the list the find() method return its index value, else it returns a negative number -1.

Vamware
>>> string = "This is TechGeekBuzz"
>>> string.find("T")  # here it will find the character T
0
>>> string.find("Tech")
8
>>> string.find("Python")
-1

Example:

main_string = "Wellcome to TechGeekBuzz
sub_string = "Tech"

# condition to check whether the Tech string is present in the Wellcome to TechGeekBuzz string
if main_string.find(sub_string)>=0: 
    print("Present")
else:
    print("Not Present")

Output:

Present

Using index() Method:

The index() method is used to tell the index value of a specific element present in the list or string. It is similar to the find() method but if the index() method does not find the element in the string it throw an error or else it returns the beginning index value of the element.

Example

main_string = "WelCome to TechGeekBuzz"
sub_string = "python"

# condition to check whether the Tech string is present in the WelCome to TechGeekBuzz string
try:
    main_string.index(sub_string)
    print("Present")
except:
    print("Not Present")

Output

Not Present

Using Python Regular Expression

Regular Expression is used to find the pattern in a string, and they provide a more flexible and efficient way to find a substring from a string. With regular expression, we have many string operations that we can perform on a string.

Example

from re import search

main_string = "Wellcome to TechGeekBuzz"
sub_string = "Tech"

# condition to check whether the Tech string is present in the Wellcome to TechGeekBuzz string
if search(sub_string,main_string):
    print("Present")
else:
    print("Not Present")

Output

Present

Using Logical Code

It might be possible you have asked to implement a logic to solve this problem rather than using the python special methods.

Here we have also provided a logic to solve this problem using python code:

Example

def check_string(s1, s2):
    M = len(s1)
    N = len(s2)

    for i in range(N - M + 1):
        for j in range(M):
            if (s2[i + j] != s1[j]):
                break         
        if j + 1 == M :
            return i
    return -1

sub_string = "Tech"
main_string = "Welcome to TechGeekBuzz"
result = check_string(sub_string, main_string)
if result == -1 :
    print("Not present")
else:
    print("Present")

Output

Present

Conclusion

The logic we have used in the last example is applicable to every programming language. In competitive programming, we often encounter such kind of problem where we are restricted to use some of the inbuilt functions or method there we need to implement a logic using the basic programming data structure and syntax.

People are also reading:

 

Author: Vinay

I am a Full Stack Developer with a Bachelor's Degree in Computer Science, who also loves to write technical articles that can help fellow developers.

Leave a Reply

Your email address will not be published. Required fields are marked *