common: added function to split a string to a vector by using a delimiter
This commit is contained in:
parent
4a5a912b9d
commit
719697eabe
|
|
@ -19,3 +19,23 @@ const std::string get_shell_env_var(const char* key,
|
||||||
const char* ret = std::getenv(key);
|
const char* ret = std::getenv(key);
|
||||||
return std::string(ret ? ret : def_val);
|
return std::string(ret ? ret : def_val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief convert a string, separate by delim to a vector
|
||||||
|
* \param[in] in: string to split
|
||||||
|
* \param[in] delim: split caracter
|
||||||
|
* \return vector a substring
|
||||||
|
*/
|
||||||
|
const std::vector<std::string> splitString(const std::string& in,
|
||||||
|
const char delim) noexcept {
|
||||||
|
std::vector<std::string> tokens;
|
||||||
|
size_t start = 0, end = 0;
|
||||||
|
|
||||||
|
while ((end = in.find(',', start)) != std::string::npos) {
|
||||||
|
tokens.push_back(in.substr(start, end - start));
|
||||||
|
start = end + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
tokens.push_back(in.substr(start)); // Add the last token
|
||||||
|
return tokens;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,4 +17,13 @@
|
||||||
const std::string get_shell_env_var(const char* key,
|
const std::string get_shell_env_var(const char* key,
|
||||||
const char *def_val="") noexcept;
|
const char *def_val="") noexcept;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief convert a string, separate by delim to a vector
|
||||||
|
* \param[in] in: string to split
|
||||||
|
* \param[in] delim: split caracter
|
||||||
|
* \return vector a substring
|
||||||
|
*/
|
||||||
|
const std::vector<std::string> splitString(const std::string& in,
|
||||||
|
const char delim) noexcept;
|
||||||
|
|
||||||
#endif // SRC_COMMON_HPP_
|
#endif // SRC_COMMON_HPP_
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue