IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

supression caractère dans une chaîne


Sujet :

Langage C++

  1. #1
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 265
    Points : 6 686
    Points
    6 686
    Billets dans le blog
    2
    Par défaut supression caractère dans une chaîne
    Bonjour,

    c'est vendredi, alors un peu de détente

    Je me demandais quelle était la meilleure façon de supprimer un caractère donné dans une string. La plus élégante, la plus rapide, la plus robuste.

    Je propose donc la solution suivante, qui efface tous les ' ' (espace) dans la chaine my_string:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my_string.erase( std::remove_if( my_string.begin(), my_string.end(), [] ( const char& c ) { return ( c == ' ' ); } ), my_string.end() );
    Avez-vous d'autres propositions?

  2. #2
    Invité
    Invité(e)
    Par défaut
    hmm au risque de passer pour un copieur ():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my_string.erase(std::remove(my_string.begin(),my_string.end(),' '),my_string.end());
    ne serait pas mieux ?

    ou alors:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string.erase(std::remove_if(string.begin(), string.end(), std::isspace),string.end());
    en passant par le isspace

  3. #3
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 265
    Points : 6 686
    Points
    6 686
    Billets dans le blog
    2
    Par défaut
    Ton code est plus simple, mais je trouve que l'utilisation d'un lambda c'est plus classe
    Après, il faudrait vérifier mais je pense que l'asm généré doit être à peu près équivalent, si compilé avec les options d'optimisation de vitesse.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/09/2006, 12h07
  2. Comment remplacer plusieurs caractères dans une chaîne?
    Par Antigonos Ier Gonatas dans le forum Général Python
    Réponses: 5
    Dernier message: 16/06/2006, 16h04
  3. Réponses: 5
    Dernier message: 08/03/2006, 22h20
  4. Réponses: 5
    Dernier message: 03/02/2006, 18h47
  5. [String] Remplacement caractères dans une chaîne
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 4
    Dernier message: 19/07/2004, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo