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

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


     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 remove all the instances of the specified pattern in the input string. It first performs a search for all the occurences of the specified pattern and then it erases it from the input string.

header file:





    input_string : an input string

    seacrh_string : the pattern that has to be replaced in the input_string;

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

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


#include<iostream> #include<boost/algorithm/string.hpp> using namespace std; using namespace boost::algorithm; int main() { string str1 = "Hello and Welcome Hello and Welcome"; cout<<str1<<endl; erase_all(str1,"Hello ");//replacing 0 instance of "Hello" inplace with "Hi" cout<<str1<<endl<<endl; string str2 = "Apple Banana Mango Apple Banana Apple"; cout<<str2<<endl; ierase_all(str2,"apple");//replacing 1 instance of "Apple" inplace with "Orange" cout<<str2<<endl<<endl; string str4 = "Hi Hi Hi Hi Hi Hi"; cout<<str4<<endl; string str3 = erase_all_copy(str4,"Hi ");//removing 3 instance of "Hi " by returning a copy cout<<str3<<endl; }



As we can observe from the output we are first performing an inplace removal where we are removing all the occurences of "Hello " with "Hi" . Next we are performing replacement on the original string while performing the search case-insensitively. In str3, we are storing the string obtained after performing replacement while searching case-sensitively. In the str3 we can observe that the last "Hi" is not replaced as the search string we are providing is "Hi "(along with a trailing whitespace).

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() 896 1
C++ boost::algorithm::replace_all() 2050 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() 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() 2059 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() 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