C++ boost::algorithm::string::contains()














































C++ boost::algorithm::string::contains()



contains():

     This function is included in the "boost/algorithm/string" library. This library contains some brilliant methods which  help in accomplishing string manipulations that are lacking in STL library. 

This function is used to check whether the given string contains the given pattern, i.e., checks whether the test string(pattern) is present in the given input string or not.

header file:

boost/algorithm/string.hpp

syntax:

     contains(input,test);

parameters:

    input : an input string(sequence)

    test : a test string(sequence)

The given function is case sensitive, i.e., it does the check case-sensitively. For example, "I am not well" is not same as "i am not WELL"

 There is another variation present i.e., icontains() , which takes the same parameters as input, but instead of doing a case-sensitive test, it ignores the case of the characters and does the check, i.e., it does the check case-insensitively. For example, "I am not well" is same as "i am not WELL".

SAMPLE CODE:

#include<iostream>
#include<boost/algorithm/string.hpp>

using namespace std;
using namespace boost::algorithm;

int main()
{
//Input strings
string str[] = {"Welcome","You are using boost","its very interestING ","It is very effective"};

//Test strings
string test[] = {"elc","areusing","ry inter","IS VERY"};

//performing the checks and printing the results with contains
cout<<"Using contains()"<<endl<<endl;
for(int i=0;i<4;i++)
{
cout<<str[i]<<" is checked with "<<test[i]<<endl;
cout<<"Result : The string contains test- "<<contains(str[i],test[i])<<endl<<endl;
}

//performing the checks and printing the results with icontains
cout<<"Using icontains()"<<endl<<endl;
cout<<str[3]<<" is checked with "<<test[3]<<endl;
cout<<"Result : The string contains test- "<<icontains(str[3],test[3])<<endl;
}

OUTPUT:

EXPLANATION:

In the above output, 1 means TRUE and 0 means FALSE.

As we can observe for str1 and str3 contains() returns TRUE and for str2 and atr4 it returns FALSE as the test string is "areusing" and "IS VERY" instead of "are using" and "is very" respectively. (contains() does case sensitive check).

On the contrary, icontains() return TRUE for str4 as it does case insensitive check.


More Articles of Md Safi Ur Rahman Khan:

Name Views Likes
C++ boost::algorithm::string::join() 577 0
C++ boost::algorithm::string::split() 607 0
C++ boost::algorithm::string::find_all() 647 0
C++ boost::algorithm::string::erase_tail() 249 0
C++ boost::algorithm::string::replace_tail() 212 0
C++ boost::algorithm::string::erase_head() 277 0
C++ boost::algorithm::string::replace_head() 210 0
C++ boost::algorithm::string::erase_all() 895 1
C++ boost::algorithm::replace_all() 2049 0
C++ boost::algorithm::string::erase_nth() 215 0
C++ boost::algorithm::string::replace_nth() 221 0
C++ boost::algorithm::string::replace_last() 246 0
C++ boost::algorithm::string::erase_last() 243 0
C++ boost::algorithm::string::erase_first() 215 1
C++ boost::algorithm::string::replace_first() 432 0
C++ boost::algorithm::string::find_token() 351 0
C++ boost::algorithm::string::find_tail() 200 1
C++ boost::algorithm::string::find_head() 212 0
C++ boost::algorithm::string::find_last() 300 1
C++ boost::algorithm::string::find_first() 749 1
C++ boost::algorithm::string::all() 224 1
C++ boost::algorithm::string::lexicographical_compare() 214 0
C++ boost::algorithm::string::equals() 378 0
C++ boost::algorithm::string::contains() 1825 0
C++ boost::algorithm::string::ends_with() 1283 0
C++ boost::algorithm::string::starts_with() 2058 0
C++ boost::algorithm::string::trim_if() 712 1
C++ boost::algorithm::string::trim() 3797 0
C++ boost::algorithm::string::trim_right_if() 522 1
C++ boost::algorithm::string::trim_left_if() 384 1
C++ boost::algorithm::string::trim_right() 282 3
C++ boost::algorithm::string::trim_left() 364 1
C++ boost::algorithm::string::to_lower() 737 1
C++ boost::algorithm::string::to_upper() 297 1
C++ Program to Implement Dequeue 1327 5
C++ Program to Implement Dequeue 241 3

Comments