strg_replace(); in c++? (teile ersetzen)

soeni1987

Mitglied
gibt es eine funktion in c++ die der strg_replace(); entspricht? also in einem string ein zeichen oder eine zeichenfolge durch ein anderes zeichen oder eine andere zeichenfolge ersetzt, die man als parameter angibt. (oder bei keiner angabe eines ersatzes den zu ersetzenden text löscht).

danke im voraus
 
Hi.
gibt es eine funktion in c++ die der strg_replace(); entspricht? also in einem string ein zeichen oder eine zeichenfolge durch ein anderes zeichen oder eine andere zeichenfolge ersetzt, die man als parameter angibt. (oder bei keiner angabe eines ersatzes den zu ersetzenden text löscht).

danke im voraus
Bitte halte dich an die Netiquette - insbesondere Punkt 15 (Rechtschreibung)!

Es gibt eine allgemeine replace Funktion, die auf alle Kontainerklassen der STL angewendet werden kann:
C++:
#include <algorithm>

string s = "abcabcabc";
replace(s.begin(), s.end(), 'a', 'x');
\edit: Damit kannst du allerdings keine Zeichen einfügen oder löschen. Dafür mußt du erstmal die Stelle im String suchen (z.B. mit find) und die erase Methode bzw. string::replace aufrufen:
C++:
string s = "abcabcabc";
string::size_type pos = 0;

while ((pos = s.find("ab", pos)) != string::npos) {
  const string s2 = "vwxyz";
  s.replace(pos, 2, s2, 0, s2.length());
}
Gruß
 
Zuletzt bearbeitet:
Zurück