Convert String to lowercase

#include <algorithm>
#include <string> 

	string data = "Abc"; 
	std::transform(data.begin(), data.end(), data.begin(), ::tolower);

Be aware that ::tolower() can only do a per-single-byte-character substitution, which is ill-fitting for many scripts, especially if using a multi-byte-encoding like UTF-8.

Replace Character In A String

Note this only works for characters, there is no simple function to replace sections of a string :-(

#include <algorithm>
#include <string>

	std::string string1 = "Mx string";
	std::replace(string1.begin(), string1.end(), 'x', 'y');	// replace all 'x' with 'y' (needs the <algorithm> library)
//#include <algorithm>
//#include <string>
//***************************************************************************************
//***************************************************************************************
//********** REPLACE AN OCCURANCE OF A STRING WITHIN A STRING CASE INSENSITIVE **********
//***************************************************************************************
//***************************************************************************************
//ReplaceFrom will be compared without case sensitivity to ConvertString 
string ReplaceAllCaseInsensitive(string ConvertString, const string ReplaceFrom, const string ReplaceTo)
{
	if (ReplaceFrom.length() <= 0)		//Protect against endless loop
		return(ConvertString);

	//Get lowercase versions of string to be converted to use for compare, and ensure the ReplaceFrom string is also lowercase
	string ConvertStringLowercase = ConvertString;
	std::transform(ConvertStringLowercase.begin(), ConvertStringLowercase.end(), ConvertStringLowercase.begin(), ::tolower);
	
	string ReplaceFromLowercase = ReplaceFrom;
	std::transform(ReplaceFromLowercase.begin(), ReplaceFromLowercase.end(), ReplaceFromLowercase.begin(), ::tolower);
	
	//Do the replace
    size_t StartPos = 0;
    if ((StartPos = ConvertStringLowercase.find(ReplaceFromLowercase, StartPos)) != std::string::npos)
	{
        ConvertString.replace(StartPos, ReplaceFrom.length(), ReplaceTo);
        //StartPos += ReplaceTo.length();			// Handles case where 'ReplaceTo' is a substring of 'ReplaceFrom'
    }
	return(ConvertString);
}

Replace String In A String

//#include <algorithm>
//#include <string>
//************************************************************************
//************************************************************************
//********** REPLACE ALL OCCURANCES OF A STRING WITHIN A STRING **********
//************************************************************************
//************************************************************************
string ReplaceAll(string ConvertString, const string ReplaceFrom, const string ReplaceTo)
{
	if (ReplaceFrom.length() <= 0)		//Protect against endless loop
		return(ConvertString);
	
	//Do the replace
    size_t StartPos = 0;
    while((StartPos = ConvertString.find(ReplaceFrom, StartPos)) != std::string::npos)
	{
        ConvertString.replace(StartPos, ReplaceFrom.length(), ReplaceTo);
        StartPos += ReplaceTo.length();			// Handles case where 'ReplaceTo' is a substring of 'ReplaceFrom'
    }
	return(ConvertString);
}

Remove Character In A String

#include <algorithm>
#include <string>

	std::string string1 = "Mx string";
	string1.erase(std::remove(string1.begin(), string1.end(), 'x'), string1.end());	// remove all 'x' characters (needs the <algorithm> library)

Replace the first and last occurances of characters in a string

	string my_string = "{abc}";
	size_t found_character;

	//Remove the first and last braces (will be added by json handler later)
	found_character = my_string.find_first_of("{");
	if (found_character != string::npos)
		my_string[found_character]=' ';
	found_character = my_string.find_last_of("}");
	if (found_character != string::npos)
		my_string[found_character]=' ';

Insert String Into String

	my_string.insert(start_pos, some_other_string);