#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <iterator>

std::vector<std::string> tokenize( std::string keyw )
{
    const std::string delims = ",.:;_\n\r\t*-=()" ;

    // replace each delimiter with a space
    for( char& c : keyw ) if( delims.find(c) != std::string::npos ) c = ' ' ;

    // construct an input stream which reads from the string
    std::istringstream stm(keyw) ;

    // read whitespace seperated tokens from the stream into a vector and return it
    return { std::istream_iterator<std::string>(stm),
              std::istream_iterator<std::string>() } ;
}

int main()
{
    for( const auto& s : tokenize( "./client --search hello sick papa dont " ) )
        std::cout << s << '\n' ;
}
