54 extern std::string&
trim(std::string& str);
56 extern std::string&
to_upper(std::string& str);
57 extern std::string&
to_lower(std::string& str);
59 std::vector <std::string>
split(std::string str,
char d);
61 extern std::string
replace(std::string str,
const std::string& old,
const std::string& newstr);
67 while (!str.empty() && isspace((
unsigned char)str[0])) {
75 while (!str.empty() && isspace((
unsigned char)str[str.size()-1])) {
76 str = str.erase(str.size()-1,1);
81 std::string&
trim(std::string& str)
83 if (str.empty())
return str;
90 for (
size_t i=0;
i<str.size();
i++) {
91 if (isspace((
unsigned char)str[
i])) {
99 std::string&
to_upper(std::string& str)
101 for (
size_t i=0;
i<str.size();
i++) str[
i] = toupper(str[
i]);
105 std::string&
to_lower(std::string& str)
107 for (
size_t i=0;
i<str.size();
i++) str[
i] = tolower(str[
i]);
116 return (str.find_first_not_of(
"+-.0123456789Ee") == std::string::npos);
119 std::vector <std::string>
split(std::string str,
char d)
121 std::vector <std::string> str_array;
123 std::string temp =
"";
127 while (index != std::string::npos) {
128 temp = str.substr(0,index);
130 if (!temp.empty()) str_array.push_back(temp);
131 str = str.erase(0,index+1);
136 if (!temp.empty()) str_array.push_back(temp);
142 std::string
replace(std::string str,
const std::string& oldstr,
const std::string& newstr)
144 std::string temp = str;
145 size_t old_idx = str.find(oldstr);
146 if (old_idx != std::string::npos) {
147 temp = str.replace(old_idx, 1, newstr);
std::string & to_upper(std::string &str)
bool is_number(const std::string &str)
std::string replace(std::string str, const std::string &old, const std::string &newstr)
std::vector< std::string > split(std::string str, char d)
std::string & to_lower(std::string &str)
std::string & trim(std::string &str)
std::string & trim_left(std::string &str)
std::string & trim_right(std::string &str)
std::string & trim_all_space(std::string &str)