Ersätta text

Man kan enkelt ersätta en viss del av en sträng med en annan sträng m.h.a. metoden replace(). Denna tar som argument ett index som anger var man vill börja ersätta text, ett tal som anger antalet tecken som skall ersättas och sist den nya texten. Texten kan ges som en string eller C-sträng. Exempel:

#include <iostream>
#include <string>

int main () {
  string Text = "The Lord of the Rings";

  Text.replace ( Text.find ( "Lord"), 4, "lord" );

  cout << Text << endl;
}

Programmet ersätter texten Lord med lord. Här används en sökmetod för att först hitta den korrekta positionen av ursprungstexten.

Radera text

Ett specialfall av att ersätta text är då man ersätter text med en tom sträng. Vad man i praktiken gör då är ju att man raderar text ur strängen. Man kan göra en radering genom att göra en ersättning med replace() och specificera en tom sträng ("") som den ersättande texten. Alternativet är att använda erase(). Denna metod tar två eller inga argument:

#include <iostream>
#include <string>

int main () {
  string Text = "The Lord of the Rings";

  Text.erase ( 0, 4 );

  cout << Text << endl;
}

Vi raderar alltså fyra tecken med början från det första. Ger man inga argument alls till erase() töms hela strängen.