explode?
-
gibt es in c++ wie in php explode?
also eine funktion, die einen string zerlegt mit irgendwelchen Zeichen und sie als array zurückliefert?
wenn nein, hat sich vielleicht jemand schonmal sowas geschrieben und kanns schnell posten?
thx
-
klar:
const char * explode(const char * p) { return p; }
-
willst mich verarschen?
der gibt doch nur den eignetippten string zurück
falls ich mich zu undeutlich ausgedrückt habe:
string bla="test 1 string 2 bla";
und jetzt soll die funktion alle teile des strings die durch " " getrennt sind, in ein array schreiben, und mir ausgeben, sodass ich dann z.B.
array[0] ( == "test")
array[1] ( == "1")
etc. habe
-
Meinst du so wie hier:
"Das ist mein schöna string..."
und zerlegt dann:
part[0] = "Das";
part[1] = "ist";
part[2] = "mein";
part[3] = "schöna";
part[4] = "string...";wenn ja dann hab ich mir da irgendwann ma was gespeichert
ich kopier's ma hier rein...is code von HumeSikkins:
#include <vector> #include <string> int Explode(const std::string& str, const std::string& seperator, std::vector<std::string>& Result) { unsigned len = seperator.length(); unsigned found = 0; std::string::size_type pos1 = 0; std::string::size_type pos2 = str.find(seperator, pos1); while (pos2 != std::string::npos) { if (pos2-pos1) Result.push_back(std::string(str, pos1, pos2-pos1)); pos1 = pos2; if (pos1 != std::string::npos) pos1 += len; ++found; pos2 = str.find(seperator, pos1); } unsigned strLen = str.length(); if (found && pos1 != strLen) { Result.push_back(std::string(str, pos1, strLen-pos1)); ++found; } return found; }
und schlau wie HumeSikkins ja is, hier noch'n Beispielcode :):
#include <algorithm> #include <iostream> int main() { using namespace std; string s("Hallo ich bin es!"); vector<string> Res; Explode(s, " ", Res); copy(Res.begin(), Res.end(), ostream_iterator<string>(cout, "\n")); }
cya
-
Du hättest ja mal spaßeshalber beschreiben können was explode macht.
-
jo bashar hat recht ;)... ich hab's auch nur gecheckt weil Hume seine funktion auch "Explode" genannt hat.. und ich das vor kurzem erst im winapi forum gepostet hab :).
cya
-
Und ich dachte erst an Explode von Jordan & Baker... Dann an etwas "Kawumm"-artiges und lernte dann, daß man mit Explode auch Strings zerstören kann......
Hm... Setzt Implode dann die vorher explodierten Strings wieder zusammen???
-
#include <time.h> #include <string> #include <iostream> #include <algorithm> using namespace std; string explode(string str){ srand((unsigned)time(NULL)); random_shuffle(str.begin(), str.end()); return str; } int main(){ string str = "Ich bin eine Bombe!"; cout<<str<<endl<<"KAWUMM!"<<endl<<explode(str); return 0; }
edit: hab noch ein bischen optimiert
-