C++-manual
Förutgående | Kapitel 18. Stränghantering | Nästa

# 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.

Förutgående | Hem | Nästa
Söka text i strängar | Upp | Substrängar