Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vector<string> split( const string &str, const char &delim )
- {
- typedef string::const_iterator iter;
- iter beg = str.begin();
- vector<string> tokens;
- while(beg != str.end())
- {
- iter temp = find(beg, str.end(), delim);
- if(beg != str.end())
- tokens.push_back(string(beg, temp));
- beg = temp;
- }
- return tokens;
- }
- vector<string> x = split ("Hello there, Bob.", ' ');
- #include <iostream>
- #include <string>
- #include <vector>
- #include <algorithm>
- using namespace std;
- vector<string> split( const string &str, const char &delim ) {
- typedef string::const_iterator iter;
- iter beg = str.begin();
- vector<string> tokens;
- while(beg != str.end()) {
- //cout << ":" << beg._Myptr << ":" << endl;
- iter temp = find(beg, str.end(), delim);
- if(beg != str.end())
- tokens.push_back(string(beg, temp));
- beg = temp;
- while ((beg != str.end()) && (*beg == delim))
- beg++;
- }
- return tokens;
- }
- int main () {
- vector<string> x = split ("Hello, my name is Bob. ", ' ');
- return 0;
- }
- :Hello, my name is Bob. :
- : my name is Bob. :
- : my name is Bob. :
- : my name is Bob. :
- : my name is Bob. :
- : my name is Bob. :
- : my name is Bob. :
- : my name is Bob. :
- :Hello, my name is Bob. :
- :my name is Bob. :
- :name is Bob. :
- :is Bob. :
- :Bob. :
- std::vector<std::string> Split(const std::string &s, const std::string &d)
- {
- std::vector<std::string> v;
- for (boost::split_iterator<std::string::iterator> i = boost::make_split_iterator(s, boost::first_finder(d, boost::is_iequal()));
- i != boost::split_iterator<std::string::iterator>();
- ++i) {
- v.push_back(boost::copy_range<std::string>(*i));
- }
- return v;
- }
- vector<string> split( const string &str, const char &delim )
- {
- typedef string::const_iterator iter;
- iter beg = str.begin();
- vector<string> tokens;
- while(beg != str.end())
- {
- iter temp = find(beg, str.end(), delim);
- if(beg != str.end())
- tokens.push_back(string(beg, temp));
- if(temp != str.end())
- temp++;
- beg = temp;
- }
- return tokens;
- }
- vector<string> split( const string &str, const char &delim )
- {
- typedef string::const_iterator iter;
- vector<string> tokens;
- iter pos = str.begin(), last = str.begin();
- while(pos != str.end()) {
- last = pos;
- pos = find(pos, str.end(), delim);
- if (pos != str.end()) {
- string token = string(last, pos);
- if (token.length() > 0)
- tokens.push_back(token);
- last = ++pos;
- }
- }
- string lastToken = string(last, pos);
- if (lastToken.length() > 0)
- tokens.push_back(lastToken);
- return tokens;
- }
- std::vector<std::string> &mysplit(const std::string &s, char delim, std::vector<std::string> &elems) {
- std::stringstream ss(s);
- std::string item;
- while(std::getline(ss, item, delim)) {
- elems.push_back(item);
- }
- return elems;
- }
- string stringtobesplit = "AA/BB-CC")
- vector<string> tokens;
- boost::split(tokens, stringtobesplit, boost::is_any_of("/-"));
- // tokens now holds 3 items: AA BB CC
- std::vector<std::string> result;
- boost::iter_split(result, str, boost::first_finder(delim));
- std::vector<std::string> result;
- boost::iter_split(result, str,
- boost::first_finder(delim, boost::is_iequal()));
Add Comment
Please, Sign In to add comment