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
 
Zurück