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 tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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