string evt. letztes Zeichen löschen

jaus

Grünschnabel
Moin zusammen,

hab folgendes Prblem. Ich habe ein string mit beispielweise dem Inhalt:

"Test;;"

Am Ende sind zwei ;, aber die dürfen da nicht sein, also müssen sie gelöscht werden. Also folgendes:

Brauche einen Algorithmus, der erst guckt, ob das letzte Zeichen ein ; ist und wenn ja soll er es löschen. Das soll solange gemacht werden, bis dort kein ; mehr steht... Wie geht es?!

Ich verzweifel total an den Methoden find_for_last und erase...

Bitte helfe mir! :(
 
Noch ein kleiner Hinweis... Alle strings, bei denen das gemacht werden soll, sind unterschiedlich lang, also keine feste länge nehmen, sondern .length()
 
Hier eine Möglichkeit:

Code:
int main()
{
   string s= "Das is ein Test;;";
   
   s.replace( s.find( ";"),100, "");
   cout<<s<<endl;   
}
 
Es sind leider nicht nur am Ende ; sondern auch noch davor und es sollen nur die ganz hinten gelöscht werden!
 
Soetwas ähnliches, wie:

TestString.replace(TestString.find_last_of(";",1),100,"");

Nur das da oben funktioniert eben nicht.. Weiß einer wieso?

Außerdem muss da irgendwie noch eine while-Schleife rein, dass das so oft wiedehrolt wird, bis kein ; mehr ganz hinten... ABER WIE?!
 
Danke, genau das habe ich gesucht :)

Gibt es auch noch eine möglichkeit einen String nach ;; zu durchsuchen und wenn diese Zeichenkette vorhanden es, sie durch ; zu ersetzen?

Also kurz gesagt ein ;; durch ein ; ersetzen. Nur die Position ist hier immer unterschiedlich...

Danke schon mal
 
Eine Zeichenkette innerhalb einer Zeichenkette kann man mit der Methode find finden. Zum Entfernen von Zeichen kann man erase aufrufen.
 
Zurück