Leerzeichen entfernen
-
Guten Tag,
folgender Code veringert mehrere hintereinander auftretende Leerzeichen zu einem einzigen:
string strTemp = "1 2 3 4"; for (int a = 0; a < strTemp.length() - 1; a++) { if (strTemp[a] == ' ' && strTemp[a + 1] == ' ') { for (int b = a; b < strTemp.length() - 1; b++) strTemp[b] = strTemp[b + 1]; // Aktuellen Index noch einmal prüfen. a--; // Letztes Zeichen löschen. strTemp.erase(strTemp.length() - 1, 1); } }Geht das denn nicht irgendwie eleganter?
Manuela
-
string strTemp = "1 2 3 4"; string::size_type strPos = 0; while( ( strPos = strTemp.find(' ', strPos) ) != string::npos ) { strTemp.erase(strPos, 1); }
-
Knapp daneben ist auch daneben.

So geht'sstring strTemp = "1 2 3 4"; string::size_type strPos = 0; while( ( strPos = strTemp.find(" ", strPos) ) != string::npos ) { strTemp.erase(strPos, 1); }Kurt
-
ich glaub, das hier war gefragt:
string strTemp = "1 2 3 4"; string::size_type strPos = 0; while( ( strPos = strTemp.find(" ", strPos) ) != string::npos ) { strTemp.erase(strPos, 1); }EDIT:
da war ich wohl zu spät. aber zumindest bei der Lösung sind wir uns recht einig 
-
Habs net richtig durchgelesen - verdammt

-
nice

-
Danke an alle.
manu
-
strTemp.erase(std::remove(strTemp.begin(), strTemp.end(), ' '), strTemp.end());
-
Nur leider sollen nicht alle ' ' weg. Eins soll übrigbleiben.

Kurt
-
ZuK schrieb:
Nur leider sollen nicht alle ' ' weg. Eins soll übrigbleiben.

Kurtich hab nicht aufmerksam gelesen
