Check if a string starts with a specific substring in C++
Hello, guys in this tutorial, we will learn how to check if a string starts with specific substring in C++. In input, we have two strings let say, s1 and s2. We will check if s1 starts with substring s2 or not.
Example 1
s1=codespeedy s2=code ouput true
Example 2
s1=ilikecoding s2=like ouput false
Algorithm
- We will make function ‘ifStart’ with the boolean return type.
- ‘ifstart’ function will take strings and length of strings as parameter
- If the length of substring (s2) is greater than a string (s1) then return false.
- Initialize a for loop from i=0 to i=s1.length()-1 .String length() function is used to find the length of the string and return the length of a string.
- Check for each i if s1[i] is equal to s2[i]. if s1[i] is not equal to s2[i] then return false.
- At the end of function return true.
C++ Code: Check if a string starts with a specific substring
#include<iostream>
#include<string>
using namespace std;
bool isStart(string s1,string s2,int l1,int l2)
{
if(l1<l2) // if length of substring is greater than string then return false
return false;
for(int i=0;i<l2;i++)
{
if(s1[i]!=s2[i]) //check if s1[i] is equal to s2[i] if not then return false
return false;
}
return true;
}
int main()
{
string s1;
string s2;
cout << "Enter string " << endl;
cin >>s1 ; // input string
cout << "Enter substring" << endl;
cin >>s2; // input substring
int l1=s1.length(); // l1 assign to length of string s1 (given string).
int l2=s2.length(); // l2 assign to length of string s2 (substring).
if(isStart(s1,s2,l1,l2)) // isStart return true then print true
cout << "true" <<endl;
else
cout << "false" <<endl; // isStart return false then print false
return 0;
}Input s1=ilovemycountry s2=ilove Output true Input s1=chennai s2=nnai Output false
Time complexity of this algorithm is O(n).
Also read:
Leave a Reply