Implement search-and-replace for string objects. : string replace « string « C++ Tutorial






#include <iostream>
#include <string>

using namespace std;

bool search_and_replace(string &str, const string &oldsubstr,const string &newsubstr);

int main(){
  string str = "This is a test. So is this.";

  while(search_and_replace(str, "is", "was"))
   cout << str << endl;

  cout << endl;

  string oldstr("So");
  string newstr("So too");
  cout << "Replace 'So' with 'So too'" << endl;
  search_and_replace(str, oldstr, newstr);
  cout << str << endl;

  return 0;
}

bool search_and_replace(string &str, const string &oldsubstr, const string &newsubstr) {
  string::size_type startidx;

  startidx = str.find(oldsubstr);
  if(startidx != string::npos) {
    str.replace(startidx, oldsubstr.size(), newsubstr);
    return true;
  }

  return false;
}








15.16.string replace
15.16.1.string.replace()
15.16.2.string.replace( position, 2, '12345;;123', 5, 2 )
15.16.3.Replacing Characters in Strings: equivalent of strset()
15.16.4.Replacing Characters in Strings: equivalent of strnset()
15.16.5.Replace one word with another word
15.16.6.Implement search-and-replace for string objects.
15.16.7.Replace all spaces with period