c++ string replace
ITWeb/개발일반 2013. 2. 1. 13:08[Reference URL]
http://www.cplusplus.com
The below code is valid on my machine.
str_vector_t sReplVector;
str_vector_const_iterator_t sIterator;
std::string findStr = "";
int32_t pos = 0;
for ( sIterator = sQueryVector1.begin(); sIterator != sQueryVector1.end(); sIterator++ ) {
findStr = sIterator->c_str();
pos = findStr.find("INSERT INTO Tbl1");
LOGDEBUG("[ASIS][sQueryVector1][%s]", sIterator->c_str());
if ( pos > 0 ) {
findStr.replace(pos, 17, "INSERT INTO Tbl2");
sReplVector.push_back(findStr);
LOGDEBUG("[TOBE][sQueryVector1][%s]", findStr.c_str());
}
}
General example by cpluscplus.com
http://www.cplusplus.com/reference/string/string/replace/
// replacing in a string
#include <iostream>
#include <string>
int main ()
{
std::string base="this is a test string.";
std::string str2="n example";
std::string str3="sample phrase";
std::string str4="useful.";
// replace signatures used in the same order as described above:
// Using positions: 0123456789*123456789*12345
std::string str=base; // "this is a test string."
str.replace(9,5,str2); // "this is an example string." (1)
str.replace(19,6,str3,7,6); // "this is an example phrase." (2)
str.replace(8,10,"just a"); // "this is just a phrase." (3)
str.replace(8,6,"a shorty",7); // "this is a short phrase." (4)
str.replace(22,1,3,'!'); // "this is a short phrase!!!" (5)
// Using iterators: 0123456789*123456789*
str.replace(str.begin(),str.end()-3,str3); // "sample phrase!!!" (1)
str.replace(str.begin(),str.begin()+6,"replace"); // "replace phrase!!!" (3)
str.replace(str.begin()+8,str.begin()+14,"is coolness",7); // "replace is cool!!!" (4)
str.replace(str.begin()+12,str.end()-4,4,'o'); // "replace is cooool!!!" (5)
str.replace(str.begin()+11,str.end(),str4.begin(),str4.end());// "replace is useful." (6)
std::cout << str << '\n';
return 0;
}