String teilen



  • Hallo Leute,
    ich bin ziemlicher c++ neuling und frage mich grad, wie ich
    einen string nach einem bestimmten zeichen teilen kann.
    Bsp: string test = 'Test-me';
    split(test,'-') ergibt{'Test','me'};

    Also ich möchte eine Funktion , die nach einem Zeichen den string splittet und mit dann ein Array von strings oda so zurückgibt. Gibt es sowas?oder muss ich es per hand machen ?

    Wäre für jede hilfe dankbar

    lg



  • Hallo luna19891,

    Willkommen im C++-Forum!

    zu Deiner Frage; siehe http://www.cplusplus.com/reference/cstring/strtok/
    Gegenfrage: wo kommt der String her? Was steht dort konkret drin?

    Gruß
    Werner



  • Naja, strtok ist C und arbeitet mit char*, außerdem nicht thread-safe.

    Unter C++ benutzt man lieber std::string::find. Ansonsten gibt es noch den Boost tokenizer.

    Wenn du magst, kannst du auch getline benutzen:

    stringstream ss("bla bla");
    string s;
    
    while (getline(ss, s, ' ')) {
     cout << s << endl;
    }
    

    Damit lässt sich auch schnell so ein Array basteln.


Log in to reply