This is the main question, and you better take a look at the string capabilities in the standard library.
Classic solution
#include <iostream> #include <string> int main() { std::string str = "red tuna, blue tuna, black tuna, one tuna"; std::string pattern = "tuna"; std::string::size_type i = str.find(pattern); while (i != std::string::npos) { str.erase(i, pattern.length()); i = str.find(pattern, i); } std::cout << str; }
Example
RegEx Solution
With C ++ 11, you have another solution (thanks Joachim for reminding me of this) based on regular expressions
#include <iostream> #include <string> #include <regex> int main() { std::string str = "red tuna, blue tuna, black tuna, one tuna"; std::regex pattern("tuna"); std::cout << std::regex_replace(str, pattern, ""); }
Example
source share