16. oktober 2005 - 16:56
Der er
14 kommentarer
Fjern Whitespaces fra streng.
Findes der ikke en let måde at fjerne whitespaces (" ", mellemrum) fra en streng?
Annonceindlæg fra Infor
16. oktober 2005 - 17:05
#1
nul termineret char array eller STL string +
16. oktober 2005 - 17:06
#2
Hvis det er en std::string: std::string X = " Oste Pop "; std::string::size_type n; while((n = X.find(' ')) != std::string::npos) X.erase(n, 1);
16. oktober 2005 - 17:07
#3
string s = "3 4 2 5 4 2"; mellemrum skal væk.
16. oktober 2005 - 17:10
#4
Så burde metode kunne bruges.
16. oktober 2005 - 19:37
#5
bertel> men der burde være en replace variant til det fordi erase teknikkens big O egenskaber er ikke tilfredsstillende
16. oktober 2005 - 20:17
#6
Ja, det burde der, men det er det så vidt jeg ved ikke. Man kan optimere lidt: std::string::size_type n = 0; while((n = X.find(' ', n)) != std::string::npos) X.erase(n, 1); Så skal der ikke søges forfra hver gang.
16. oktober 2005 - 20:20
#7
nej - de eksisterende replace'er er ikke meget værd i denne sammenhæng
20. oktober 2005 - 20:20
#8
std::string minString = "1 2 4 3"; minString.erase( std::remove( minString.begin(), minString.end() ), minString.end() ); :) Asger
20. oktober 2005 - 20:22
#9
ups, lidt for hurtig ... minString.erase( std::remove( minString.begin(), minString.end(), ' ' ), minString.end() ); sådan :)
21. oktober 2005 - 01:25
#10
>amma, smart!
21. oktober 2005 - 14:43
#11
både kort kode og effektivt !
21. oktober 2005 - 15:41
#12
Den eneste mangel ved koden er at den ikke er logisk.
21. oktober 2005 - 20:33
#13
hvis man bruger remove meget så er det nok meget logisk NB: er det pænt at den her er kaldt remove når man har cstdio remove med en noget anden funktionalitet ??
27. oktober 2005 - 15:19
#14
Får man også point for svar? :)
Kurser inden for grundlæggende programmering