Remplacement de caractères dans une <string>

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 166 fois - Téléchargée 34 fois

Contenu du snippet

Deux techniques très simples pour faire de la substitution de caractères dans un string : une méthode et un algorithme de la STL

A utiliser pour transformer les séparateurs des fichiers délimités...

Sur une question posée dans le forum
Et après avoir vérifié que rien n'existait de tel sur le site (recherche sur 'replace'), voici la source

Source / Exemple :


#include <iostream>
#include <string>
#include <algorithm>
//using namespace std; //le marteau ... ou
//... les outils spécialisés
using std::cout;
using std::string;
using std::endl;
using std::replace;

int main()
{
   string str("aa|bb|cc");
   cout << "str=" << str << endl;
   //"I" : avec la méthode replace de la classe string
   int pos=0;
   while ( (pos=str.find("|",0)) != string::npos ) //tant qu'on trouve un "|"
      str.replace(pos, 1, ";");//le remplace
      cout << "apres remplacement : " << str << endl;

      string str2("dd|ee|ff");
      cout << "str2=" << str2 << endl;
   //"II" : avec l'algorithme replace:
   replace(str2.begin(), str2.end(), '|', ';');//les remplace tous
   cout << "apres remplacement : " << str2 << endl;
   return 0;
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.