utils: introduce trim()
Este cometimento está contido em:
ascendente
164b2c19ee
cometimento
5037a17fba
17
utils.cpp
17
utils.cpp
@ -181,3 +181,20 @@ std::string utils::toISODate(time_t t)
|
|||||||
}
|
}
|
||||||
return std::string{result};
|
return std::string{result};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string utils::trim(const std::string &str)
|
||||||
|
{
|
||||||
|
std::string_view chars = " \t\n\r";
|
||||||
|
std::string_view view = str;
|
||||||
|
auto n = view.find_first_not_of(chars);
|
||||||
|
if(n != std::string_view::npos)
|
||||||
|
{
|
||||||
|
view.remove_prefix(n);
|
||||||
|
}
|
||||||
|
n = view.find_last_not_of(chars);
|
||||||
|
if(n != std::string_view::npos)
|
||||||
|
{
|
||||||
|
view.remove_suffix(view.size() - n - 1);
|
||||||
|
}
|
||||||
|
return std::string{view};
|
||||||
|
}
|
||||||
|
2
utils.h
2
utils.h
@ -93,5 +93,7 @@ template <class T> inline std::string toString(const T &v)
|
|||||||
return std::string(v.begin(), v.end());
|
return std::string(v.begin(), v.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string trim(const std::string &str);
|
||||||
|
|
||||||
} // namespace utils
|
} // namespace utils
|
||||||
#endif
|
#endif
|
||||||
|
Carregando…
Criar uma nova questão referindo esta
Bloquear um utilizador