Advertisement
Guest User

Affix Parsing

a guest
Jan 15th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. // ParseInfix
  2. std::vector<std::string> ParseInfix(std::string to_parse, std::vector<std::string> data) {
  3.     std::vector<std::string> temp_pdata;
  4.  
  5.     for (auto& ldata : data)
  6.         if (ldata.find(to_parse) != ldata.npos && ldata.find(to_parse, ldata.find(to_parse) + to_parse.length()) != ldata.npos)
  7.             temp_pdata.push_back(ldata.substr(ldata.find(to_parse) + to_parse.length(), ldata.substr(ldata.find(to_parse)).size() - to_parse.length() * 2));
  8.  
  9.     if (temp_pdata.size()) return temp_pdata;
  10.     return { "0" };
  11. }
  12.  
  13. // ParseSuffix
  14. std::vector<std::string> ParseSuffix(std::string to_parse_until, std::vector<std::string> data) {
  15.     std::vector<std::string> temp_pdata;
  16.  
  17.     for (auto& ldata : data)
  18.         if (ldata.find(to_parse_until) != ldata.npos)
  19.             temp_pdata.push_back(ldata.substr(0, ldata.find(to_parse_until)));
  20.  
  21.     if (temp_pdata.size()) return temp_pdata;
  22.     return { "0" };
  23. }
  24.  
  25. // ParsePrefix
  26. std::vector<std::string> ParsePrefix(std::string to_parse_after, std::vector<std::string> data) {
  27.     std::vector<std::string> temp_pdata;
  28.  
  29.     for (auto& ldata : data)
  30.         if ((ldata.find(to_parse_after) != ldata.npos))
  31.             temp_pdata.push_back(ldata.substr(ldata.find(to_parse_after) + to_parse_after.length()));
  32.  
  33.     if (temp_pdata.size()) return temp_pdata;
  34.     return { "0" };
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement