Suchen, Löschen und Ersetzen in Strings



  • ich will Teil<string>s

    suchen
    löschen
    ersetzen

    weiß leider nicht wie...

    [ Dieser Beitrag wurde am 01.03.2002 um 14:14 Uhr von HumeSikkins editiert. ]



  • Wenn Du das meinst was ich meine, probiers doch mal mit find(), erase() und insert() aus der Klasse <string>

    Wenn meine Antwort falsch ist, sorry, bin Anfänger.



  • Hallo,

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        // Beispiel für das Suchen, Löschen und Ersetzen von Teilstrings
        // 1. Suchen : zu suchen "no" 
        string Str("there ain't no cat can't get in no coop");
        string::size_type Pos = 0;
        while ( (Pos  = Str.find("no", Pos) ) != string::npos)
        {
            cout << "Teilstring gefunden an Position: " << Pos << endl;
            // Pos weitersetzen. Sonst finden wir immer wieder
            // den selben Teilstring
            Pos++;  
        }
    
        // 2, Löschen : zu löschen "no"
        Pos = 0;
        while ( (Pos = Str.find ("no", Pos) ) != string::npos)
        {
            cout << "Lösche Teilstring an Position: " << Pos << endl;
            // 2 beschreibt die Länge des zu löschenden
            // Teilstrings
            Str.erase(Pos, 2);
        }
        cout << "Ergebnis: " << Str << endl;
    
        // 3. Ersetzen. zu ersetzen "ain't" durch "is not"
        string Str2 ("ain't ain't funny");
        string Old("ain't");
        string New("is not");
        Pos = 0;
        while((Pos = Str2.find(Old)) != string::npos)
        {
            cout << "Ersetze an Position: " << Pos << endl;
            // Ersetze Old.length() Zeichen durch die Zeichenkette New
            Str2.replace(Pos, Old.length(), New);
    
        }
        cout << "Ergebnis " << Str2 << endl;
    
    }
    

    Sowas?

    [ Dieser Beitrag wurde am 28.02.2002 um 22:46 Uhr von HumeSikkins editiert. ]


Anmelden zum Antworten