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














































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



trim():
     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 "trim" is used to remove all the leading and trailing white-spaces in the string i.e., all the spaces present on the start and the end of the string as shown in the below examples:

Examples:
1. Original String: " Hello nice to meet you "
Modified String: "Hello nice to meet you"

2. Original String: "You are using boost "
Modified String: "You are using boost"

header file:
boost/algorithm/string.hpp

syntax:
     trim(input , loc);

parameters:
    input : an input sequence
    loc :  a locale used for space classification

    The modification of the string is done in-place if trim() is used.    
    There is another variation present i.e., trim_copy() , which takes the same parameters as input, but instead of  modifying the string in-place it returns a copy of the modified string while keeping the original string as it is.

SAMPLE CODE:

#include<boost/algorithm/string.hpp> #include<iostream> using namespace std; using namespace boost::algorithm; int main() { string s1 = " Welcome to Boost "; string s2 = s1; //storing another copy of string s1 in s2 string s3 = " You are using boost library "; //trimming only the string s2 trim(s2); //trimming s3 and storing the modified copy in newString string newString = trim_copy(s3); cout<<"EXAMPLE 1"<<endl; cout<<"The original string: "; cout<<s1<<"##part not in string##"<<endl; cout<<"The modified string: "; cout<<s2<<"##part not in string##"<<endl; cout<<"EXAMPLE 2"<<endl; cout<<"The original string: "; cout<<s3<<"##part not in string##"<<endl; cout<<"The modified string: "; cout<<newString<<"##part not in string##"<<endl; }

OUTPUT:


EXPLANATION:

As we an observe from the above code that trim() takes any string as input and it removes all the leading and trailing whitespaces. It leaves the rest of characters and symbols untouched.
Similarly, trim_copy()  instead of modifying the original string i.e., "s3", it returns the modified string to "newString".


More Articles of Md Safi Ur Rahman Khan:

Name Views Likes
C++ boost::algorithm::string::join() 514 0
C++ boost::algorithm::string::split() 463 0
C++ boost::algorithm::string::find_all() 581 0
C++ boost::algorithm::string::erase_tail() 229 0
C++ boost::algorithm::string::replace_tail() 199 0
C++ boost::algorithm::string::erase_head() 253 0
C++ boost::algorithm::string::replace_head() 194 0
C++ boost::algorithm::string::erase_all() 789 1
C++ boost::algorithm::replace_all() 1808 0
C++ boost::algorithm::string::erase_nth() 201 0
C++ boost::algorithm::string::replace_nth() 210 0
C++ boost::algorithm::string::replace_last() 230 0
C++ boost::algorithm::string::erase_last() 233 0
C++ boost::algorithm::string::erase_first() 196 1
C++ boost::algorithm::string::replace_first() 390 0
C++ boost::algorithm::string::find_token() 325 0
C++ boost::algorithm::string::find_tail() 177 1
C++ boost::algorithm::string::find_head() 202 0
C++ boost::algorithm::string::find_last() 263 1
C++ boost::algorithm::string::find_first() 667 1
C++ boost::algorithm::string::all() 213 1
C++ boost::algorithm::string::lexicographical_compare() 206 0
C++ boost::algorithm::string::equals() 321 0
C++ boost::algorithm::string::contains() 1612 0
C++ boost::algorithm::string::ends_with() 1111 0
C++ boost::algorithm::string::starts_with() 1839 0
C++ boost::algorithm::string::trim_if() 648 1
C++ boost::algorithm::string::trim() 3317 0
C++ boost::algorithm::string::trim_right_if() 501 1
C++ boost::algorithm::string::trim_left_if() 366 1
C++ boost::algorithm::string::trim_right() 261 3
C++ boost::algorithm::string::trim_left() 325 1
C++ boost::algorithm::string::to_lower() 592 1
C++ boost::algorithm::string::to_upper() 255 1
C++ Program to Implement Dequeue 1092 5
C++ Program to Implement Dequeue 221 3

Comments