Il existe une fonction très utile dans Python appelée bande () . Tous les mêmes en C ++? P>
3 Réponses :
Il n'y a rien d'intégré; J'avais l'habitude d'utiliser quelque chose comme ce qui suit: qui fonctionne assez bien. (J'ai maintenant un grand plus complexe
version qui traite correctement UTF-8.) p> p>
void strip(std::string &str)
{
if (str.length() != 0)
{
auto w = std::string(" ") ;
auto n = std::string("\n") ;
auto r = std::string("\t") ;
auto t = std::string("\r") ;
auto v = std::string(1 ,str.front());
while((v == w) || (v==t) || (v==r) || (v==n))
{
str.erase(str.begin());
v = std::string(1 ,str.front());
}
v = std::string(1 , str.back());
while((v ==w) || (v==t) || (v==r) || (v==n))
{
str.erase(str.end() - 1 );
v = std::string(1 , str.back());
}
}
Cela fonctionne avec moi bon, il n'est pas bien optimisé mais cela fait le travail correctement. Je l'ai fait vider pour l'utiliser dans l'algorithme de 199.
J'utilise ceci:
#include <string>
#include <cctype>
std::string strip(const std::string &inpt)
{
auto start_it = inpt.begin();
auto end_it = inpt.rbegin();
while (std::isspace(*start_it))
++start_it;
while (std::isspace(*end_it))
++end_it;
return std::string(start_it, end_it.base());
}
Stackoverflow.com/Questtions/352055/...
Dupliqué possible de Quelle est la meilleure façon de couper STD :: String
Dupliqué possible de bande de python une chaîne
Dupliqué possible de Fonction de la bande de Python () Mimic Python () en C
Boost :: Couper Code >