boost

boost String Algorithms Library

Remarks#

Boost Documention on String Algrorithms

boost::split()

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

using namespace std;

int main()
{

    // String to split

    string str = "You're supposed to see this!|NOT THIS!!!!!!";

    // Line container

    vector<string> lines;

    // Splits string

    boost::split(lines, str, boost::is_any_of("|"), boost::token_compress_on);

    // Outputs 1 half of the split string

    cout << lines.at(0).c_str() << endl;

    // Waits for input before program exits

    cin.get();

    return 0;
}

The following is the program in psuedocode:

Declare string str and set it to “You’re supposed to see this!|NOT THIS!!!!!!”.

Declare vector lines of type string.

Split string str into vector lines if regex ”|” is found.

Print object at index 0 in lines.

Get input.

Replace Algrorithms

boost::replace_all():

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

using namespace std;

int main()
{

    // String to replace characters in

    string str = "Darn you, Darn you to the 5th power!!!";

    // Replace "Darn" with "*CENSORED*"

    boost::replace_all(str, "Darn", "*CENSORED*");

    // Print str

    cout << str.c_str() << endl;

    // Waits for program to exit

    cin.get();

    return 0;
}

boost::replace_first():

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

using namespace std;

int main()
{

    // String to replace characters in

    string str = "Darn you, Darn you to the 5th power!!!";

    // Replace the first instance of "Darn" with "*CENSORED*"

    boost::replace_first(str, "Darn", "*CENSORED*");

    // Print str

    cout << str.c_str() << endl;

    // Waits for program to exit

    cin.get();

    return 0;
}

boost_replace_last():

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

using namespace std;

int main()
{

    // String to replace characters in

    string str = "Darn you, Darn you to the 5th power!!!";

    // Replace the last instance of "Darn" with "*CENSORED*"

    boost::replace_last(str, "Darn", "*CENSORED*");

    // Print str

    cout << str.c_str() << endl;

    // Waits for program to exit

   cin.get();

   return 0;
}

Case conversion methods

to_upper():

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

using namespace std;

int main()
{

    // String to convert characters to uppercase

    string str = "ThIS iS SUpPoSEd tO Be UpPeR CAsE.";

    // Convert characters in str to upper case

    boost::to_upper(str);

    // Print str

    cout << str.c_str() << endl;

    // Waits for program to exit

    cin.get();

    return 0;
}

to_lower():

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

using namespace std;

int main()
{

    // String to convert characters to lowercase

    string str = "ThIS iS SUpPoSEd tO Be LoWer CAsE.";

    // Convert characters in str to lower case

    boost::to_lower(str);

    // Print str

    cout << str.c_str() << endl;

    // Waits for program to exit

    cin.get();

    return 0;
}

This modified text is an extract of the original Stack Overflow Documentation created by the contributors and released under CC BY-SA 3.0 This website is not affiliated with Stack Overflow