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 >