//: C03:StringReplace.cpp
// Z knihy "Myslíme v jazyce C++, část 2" od Bruce Eckela a Chucka Allisona.
// (c) 1995-2004 MindView, Inc. Všechna práva vyhrazena.
// Přečtěte si podmínky používání zdrojových kódů umístěné v souboru 
// 'Licence.txt' dodávaném spolu s balíčkem kódu dostupným na www.MindView.net.
// Jednoduché hledaání a nahrazování v řetězci.
#include <cassert>
#include <string>
using namespace std;

int main() {
  string s("Kousek textu");
  string tag("$tag$");
  s.insert(7, tag + ' ');
  assert(s == "Kousek $tag$ textu");
  int start = s.find(tag);
  assert(start == 7);
  assert(tag.size() == 5);
  s.replace(start, tag.size(), "nazdárek");
  assert(s == "Kousek nazdárek textu");
} ///:~
