000
17.12.2005, 18:59 Uhr
Gap
|
Hallo,
Ich kenn mich mit dem std::string Funktionen noch nicht so aus, aber brauche die richtige replace Funktion.
Sie soll aus einem string alle ü, ö, ä etc. durch ue, oe, ae ersetzten.
Das einzige was ich geschafft hab mir zusammen zu basteln ist folgendes:
C++: |
void strreplace( string &str, const char *to_replace, const char *replace_with ) { int i = str.find( to_replace ); while( i != -1 ) { str.replace( i, strlen(to_replace), replace_with ); i = str.find( to_replace ); } }
|
Das funktioniert zwar perfekt, jedoch muss ich dann um alle Zeichen zu ersetzen ne Menge Code schreiben:
C++: |
strreplace( str, "ü", "ue" ); strreplace( str, "ö", "oe" ); strreplace( str, "ä", "ae" ); strreplace( str, "Ü", "UE" ); strreplace( str, "Ö", "OE" ); strreplace( str, "Ä", "AE" );
|
Dadurch wird nicht nur der Code unübersichtlicher, sondern auch die Laufzeit schlechter.
Weiß einer von euch eine Funktion, die es leichter macht?
Danke im Vorraus, Gap |