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














































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



erase_first():

     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 erase the first instance of the specified pattern in the input string. It first performs a search for the specified pattern and then removes it.

header file:

boost/algorithm/string.hpp

syntax:

     erase_first(input_string,search_string);

parameters:

    input_string : an input string

    seacrh_string : the pattern that has to be erased from the input_string;

erase_first() performs an inplace removal. There is another variation present erase_first_copy() which instead of doing an inplace removal, returns a copy of the modified string.

erase_first() performs a case-sensistive search. There is another variation present ierase_first() which performs a case-insensitive search. Similarly ireplace_first_copy() returns a copy of modified string instead of doing an inplace removal.

SAMPLE CODE:

#include<iostream> #include<boost/algorithm/string.hpp> using namespace std; using namespace boost::algorithm; int main() { string str1 = "Hello and Welcome to boost"; cout<<str1<<endl; erase_first(str1,"Hello ");//removing "Hello" inplace cout<<str1<<endl<<endl; string str2 = "It is NOT interseting"; cout<<str2<<endl; ierase_first(str2,"not ");//removing "not" inplace cout<<str2<<endl<<endl; string str3 = erase_first_copy(str1,"and ");//removing and by returning a copy cout<<str3<<endl; }

OUTPUT:


EXPLANATION:
As we can observe from the output we are first performing an inplace removal where we are removing "Hello " . Next we are performing removal on the original string while performing the search case-insensitively. In str3, we are storing the string obtained after performing removal while searching case-sensitively.

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() 898 1
C++ boost::algorithm::replace_all() 2050 0
C++ boost::algorithm::string::erase_nth() 216 0
C++ boost::algorithm::string::replace_nth() 222 0
C++ boost::algorithm::string::replace_last() 247 0
C++ boost::algorithm::string::erase_last() 244 0
C++ boost::algorithm::string::erase_first() 216 1
C++ boost::algorithm::string::replace_first() 433 0
C++ boost::algorithm::string::find_token() 351 0
C++ boost::algorithm::string::find_tail() 201 1
C++ boost::algorithm::string::find_head() 213 0
C++ boost::algorithm::string::find_last() 301 1
C++ boost::algorithm::string::find_first() 749 1
C++ boost::algorithm::string::all() 225 1
C++ boost::algorithm::string::lexicographical_compare() 214 0
C++ boost::algorithm::string::equals() 378 0
C++ boost::algorithm::string::contains() 1826 0
C++ boost::algorithm::string::ends_with() 1283 0
C++ boost::algorithm::string::starts_with() 2060 0
C++ boost::algorithm::string::trim_if() 713 1
C++ boost::algorithm::string::trim() 3797 0
C++ boost::algorithm::string::trim_right_if() 522 1
C++ boost::algorithm::string::trim_left_if() 385 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() 298 1
C++ Program to Implement Dequeue 1327 5
C++ Program to Implement Dequeue 241 3

Comments