Hello, everybody, this is my first question, so please notice me if it's something wrong with this.
I want to replace some words without using boost libraries or other .hpp's.
My first attempt was to make a copy of the string, and it was quite inefficient. I'm not very proud of it, so I will post my second attempt where I use addresses.
void ReplaceString(std::string &subject, const std::string &search, const std::string &replace)
{
size_t position = 0;
while ((position = subject.find(search, position)) != std::string::npos) {
subject.replace(position, search.length(), replace);
position = position + replace.length();
}
}
Because It's not very efficient I want to use another thing, but I got stuck; I want to use a function like
replace_stuff(std::string & a);
with a single parameter using string.replace() and string.find() (parsing it with a for loop or something) and then make use of std::map <std::string,> which is very convenient for me.
Can anyone help me with this, please? I started learning C++ few months ago, and I don't know many tips and tricks. I also have some problems with my coherence, so please excuse my poor English.
Best regards,
George.
P.S. I want to use it for a large number of input words. (let's say replacing bad words with harmless ones)