How to remove all instances of the pattern from a string?
string str = \"red tuna, blue tuna, black tuna, one tuna\";
string pattern = \"tuna\";
This is a basic question and you'd better take a look at the string capabilities in the standard library.
#include
#include
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
Since C++11 you have another solution (thanks Joachim for reminding me of this) based on regular expressions
#include
#include
#include
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