X-Eon Geschrieben 28. Oktober 2005 Geschrieben 28. Oktober 2005 Hallo zusammen, kann mir einer sagen wie man prüfen kann ob ein bestimtes Wort in einem String oder einem Char Array vorkommt? Ich glaube, wenn man das Array/String Zeichenweise durchlaufen würde könnte man das realisieren, aber wenn es viele Worte gibt, die "gefunden" werden sollen funktioniert das auch nicht mehr so, jedenfalls wüsste ich nicht wie ich es umsetzen sollte ohne für jedes Wort ne Bedingung zu machen. Da ich die Position im String/Array benötige, um das "gefundene" Wort durch ein neues zu ersetzen, funktioniert das auch nicht mit strcmp o.ä. Also im Grundegenommen soll nen eingelesener Text auf "böse" Wörter durchsucht werden und die sollen dann mit vorgegebenen ersetzt werden. Schonmal Danke im vorraus Gruß, X-Eon P.S.: Das was ich suche heißt bei PHP "ereg_replace(...)", gibts soetwas für (Konsolen)C++? Zitieren
Guybrush Threepwood Geschrieben 28. Oktober 2005 Geschrieben 28. Oktober 2005 Du kannst mit strstr nach einem Teilstring suchen und den dann einfach überschreiben. Zitieren
X-Eon Geschrieben 28. Oktober 2005 Autor Geschrieben 28. Oktober 2005 Danke Guybrush Threepwood, das hilft mir schon weiter! Schönes Wochenende Zitieren
DeSoVoDaMu Geschrieben 7. November 2005 Geschrieben 7. November 2005 Hallo, eine einfache Funktion gibt es dafür afaik nicht. Du musst dir was basteln oder mit meiner Version vorlieb nehmen std::string str = "deinzudurchsuchenderstringmitdemboesenwort"; std::string search_word = "boese", replace_word = "gute"; size_t pos = 0, length = search_word.length(); while ((pos = str.find(search_word, pos)) != std::string::npos) str.replace(pos, length, replace_word); str wird also aus der Zeichenkette, also deinem char-array, erstellt. Gruss, DeSoVoDaMu Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.