Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include <sstream>
- #include <string>
- #include <vector>
- namespace gllang
- {
- std::string& ltrim(std::string& str, const std::string& chars = "\t\n\v\f\r ")
- {
- str.erase(0, str.find_first_not_of(chars));
- return str;
- }
- std::string& rtrim(std::string& str, const std::string& chars = "\t\n\v\f\r ")
- {
- str.erase(str.find_last_not_of(chars) + 1);
- return str;
- }
- std::string& trim(std::string& str, const std::string& chars = "\t\n\v\f\r ")
- {
- return ltrim(rtrim(str, chars), chars);
- }
- std::string replace(std::string& str, std::string const& find, std::string const& replace_to)
- {
- return str.replace(str.find(find), find.length(), replace_to);
- }
- std::vector<std::string> split(std::string const& str, char const& to_split)
- {
- std::istringstream thread_string(str);
- std::string result_string;
- std::vector<std::string> result_split;
- while (std::getline(thread_string, result_string, to_split))
- result_split.push_back(result_string);
- return result_split;
- }
- std::vector<std::string> space_split(std::string const& str)
- {
- std::istringstream thread_string(str);
- std::string result_string;
- std::vector<std::string> result_split;
- while (std::getline(thread_string, result_string, ' '))
- result_split.push_back(result_string);
- return result_split;
- }
- std::vector<std::string> remove_emptiness(std::vector<std::string> base)
- {
- for (size_t i = 0; i < base.size() - 1; ++i)
- if (base[i].empty())
- base.erase(base.begin() + i);
- return base;
- }
- std::vector<std::string> remove_trim(std::vector<std::string> base)
- {
- for (size_t i = 0; i < base.size() - 1; ++i)
- gllang::trim(base[i]);
- return base;
- }
- } // ngllang
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement