ulvis.paste.net

Paste Search Dynamic
Recent pastes
split
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5.  
  6. // TODO: Implement split function here
  7. // Do not change main function
  8.  
  9. std::vector< std::string > split(std::string s, char sep, bool t = false)
  10. {
  11.     std::vector < std::string > parts_stored = {};
  12.  
  13.     std::string::size_type n = 0;
  14.     std::string::size_type i = 0;
  15.     std::string::size_type j = s.find(sep);
  16.     std::string::size_type k = s.find(sep);
  17.  
  18.     if (not t)
  19.     {
  20.         while (k != std::string::npos)
  21.         {
  22.             std::string part = s.substr(n, k-n);
  23.             parts_stored.push_back(part);
  24.             n = ++k;
  25.             k = s.find(sep, n);
  26.         }
  27.  
  28.         if (k == std::string::npos)
  29.  
  30.             parts_stored.push_back(s.substr(n, s.length()));
  31.     }
  32.     else
  33.     {
  34.         while (j != std::string::npos)
  35.         {
  36.             std::string part = s.substr(i, j-i);
  37.             if (part.length() > 0)
  38.             {
  39.                 parts_stored.push_back(part);
  40.             }
  41.             else
  42.             {
  43.                 ;
  44.             }
  45.             i = ++j;
  46.             j = s.find(sep, i);
  47.         }
  48.  
  49.         if (j == std::string::npos)
  50.         {
  51.             std::string end_part = s.substr(i, s.length() );
  52.  
  53.  
  54.             if (end_part.length() > 0)
  55.             {
  56.                 parts_stored.push_back(end_part);
  57.             }
  58.             else
  59.             {
  60.                 ;
  61.             }
  62.         }
  63.  
  64.     }
  65.     return parts_stored;
  66. }
Parsed in 0.010 seconds