Strings ersetzen
-
Hallo alle zusammen,
habe mal ein Problem. Ich soll ein Programm schreiben, dass ein Wort in einem String ersetzt. Das heißt, der Benutzer gibt im Programm einen Text ein z.B(" Heute ist Montag"), danach gibt der Benutzer das Wort, dass zu ersetzen ist ein, z.B(Montag) und zu letzt dass Wort was an die Stelle des anderen Wort kommen soll z.B (Dienstag). Am Ende soll dann dieser "neue" Text ausgegeben werden. In diesem Beispiel ("Heute ist Dienstag").
Habe in Intenet gestöbert, aber nichts brauchbres gefunden. Ich glaube der Befehl replace String könnte mir vielleicht weiter Helfen. Vielleicht wisst Ihr wie das funktionieren würde.
-
Schau dir dazu noch mal std::string::find an.
p.s. Ist deine Tastatur kaputt?
-
Nein, habe nur ein neues Notebook. Muss mich noch ein bisschen eingewöhnen. Bis dahin werde ich bestimmt noch viiiiele Fehler machen.

-
dr.kuzu schrieb:
Nein, habe nur ein neues Notebook. Muss mich noch ein bisschen eingewöhnen. Bis dahin werde ich bestimmt noch viiiiele Fehler machen.

Ach so. Dachte schon fast du hast deine "?"-Taste geschrottet...
-
Weißt du vielleicht wo ich genauers über diesen Befehl bekomme. Oder kannst du das etwas näher erläutern ???
-
inline void str_replace( std::string &str, const std::string &old_str, const std::string &new_str ) { std::string::size_type pos = str.find( old_str, 0 ); if ( std::string::npos == pos ) return; str.replace( pos, old_str.length(), new_str, 0, new_str.length() ); }
-
Danke für dein Vorschlag David_pb. Was ich das nicht verstehe ist, "str.find( old_str, 0 );". Für was soll das gut sein ???
-
Du musst die Position des Suchstrings zuerst finden.
-
Achso stimmt ja.
Danke für deine Hilfe.
-
Ich versuche mal jetzt das Programm zu schreiben. Falls was unklar ist melde ich mich wieder.