C++ remplacer mot dans une string

dharth Messages postés 145 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

J'ai une fonction string a faire
replace_word(string original, string ToReplace)


je doit remplacer toute les occurence de "ToReplace" trouver dans la string "original" par une
string toto = "toto"


j'ai trouver les fonctions find et replace, mais meme en regardant la doc je ne voit pas comment les utiliser.

quelqu'un peut m'aider?

2 réponses

  1. dharth Messages postés 145 Statut Membre 13
     
    personne pour m'aider?
    0
  2. KX Messages postés 19031 Statut Modérateur 3 020
     
    unsigned replace_word(std::string &original, const std::string &aTrouver, 
                                                 const std::string &aRemplacer)
    {
    	unsigned n = original.find(aTrouver);
    
    	if (n==std::string::npos)
    	{
    		return 0;
    	}
    	else
    	{
    		original.replace(n,aTrouver.size(),aRemplacer);
    		return 1+replace_word(original, aTrouver, aRemplacer);
    	}
    }

    Remarque : ce code est un exemple d'utilisation pour les méthodes find et replace.
    En réalité il ne marche pas toujours, exemple : replace_word("totos","to","toto");
    La confiance n'exclut pas le contrôle
    0