0Pricing
C++ Academy · Leçon

Opérations sur les chaînes : concaténation, sous-chaînes, recherche et remplacement

Concaténez, découpez, recherchez et remplacez le contenu de chaînes avec l’API std::string.

Opérations sur les chaînes : concaténation, sous-chaînes, recherche et remplacement est une leçon C++ Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C++ Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C++ Academy comprend 4 leçons au total.

Concaténation avec +

L’opérateur + concatène deux chaînes dans une nouvelle chaîne. += ajoute du contenu sur place.

std::string a = "Hello, ";
std::string b = "World";
std::string c = a + b;     // "Hello, World"
a += b;                    // a is now "Hello, World"

Ajouter efficacement

Appliquer plusieurs fois + à de longues chaînes crée de nombreux objets temporaires. Utilisez += ou append() dans les boucles fréquemment exécutées.

std::string result;
for (auto& word : words) {
    result += word;
    result += ' ';
}

Sous-chaîne avec substr

substr(pos, len) renvoie une nouvelle chaîne commençant à pos. len vaut par défaut le reste de la chaîne.

std::string s = "Hello, World";
std::cout << s.substr(0, 5);   // "Hello"
std::cout << s.substr(7);      // "World"

Recherche de sous-chaînes : find

find(needle) renvoie l'indice de la première occurrence, ou std::string::npos si elle est introuvable.

std::string s = "the quick brown fox";
auto pos = s.find("quick");
if (pos != std::string::npos)
    std::cout << "Found at " << pos;

Rechercher à partir d'une position

Transmettez un deuxième argument pour commencer la recherche à partir d'un indice précis — ce qui est utile pour trouver toutes les occurrences.

std::string s = "abc abc abc";
size_t pos = 0;
while ((pos = s.find("abc", pos)) != std::string::npos) {
    std::cout << pos << ' ';
    pos += 3;
}

rfind : rechercher depuis la fin

rfind trouve la dernière occurrence. find_first_of et find_last_of recherchent n'importe quel caractère appartenant à un ensemble.

Remplacement sur place

replace(pos, len, str) remplace len caractères à partir de pos par str — la nouvelle chaîne peut avoir une longueur différente.

std::string s = "Hello, World";
s.replace(7, 5, "C++");
std::cout << s;  // "Hello, C++"

Supprimer des caractères

erase(pos, len) supprime une sous-chaîne. Appeler erase() sans argument efface toute la chaîne.

std::string s = "Hello, World";
s.erase(5, 2);          // removes ", "
std::cout << s;         // "HelloWorld"

Insérer des caractères

insert(pos, str) insère str à la position pos, en décalant tout le reste vers la droite.

std::string s = "HelloWorld";
s.insert(5, ", ");
std::cout << s;  // "Hello, World"

Comparer des chaînes

Utilisez les opérateurs de comparaison standard ou compare(). La comparaison est lexicographique.

std::string a = "apple", b = "banana";
if (a < b) std::cout << "apple comes first";

Remplacer toutes les occurrences

La bibliothèque standard ne propose pas de remplacement global en un seul appel. Écrivez une fonction auxiliaire simple ou utilisez std::regex.

void replaceAll(std::string& s, const std::string& from, const std::string& to) {
    size_t pos = 0;
    while ((pos = s.find(from, pos)) != std::string::npos) {
        s.replace(pos, from.size(), to);
        pos += to.size();
    }
}

Vérification rapide

Que renvoie "hello".find("xyz") lorsque la sous-chaîne est absente ?

Récapitulatif

std::string propose une API riche : + et += pour concaténer, substr pour extraire une sous-chaîne, find pour rechercher, et replace, erase, insert pour modifier. Après find, comparez le résultat avec std::string::npos.

Questions Fréquemment Posées

La leçon « Opérations sur les chaînes : concaténation, sous-chaînes, recherche et remplacement » est-elle gratuite ?

Oui — le texte complet de « Opérations sur les chaînes : concaténation, sous-chaînes, recherche et remplacement » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C++ Academy, passe à CoddyKit PRO. Le cours C++ Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Opérations sur les chaînes : concaténation, sous-chaînes, recherche et remplacement » ?

Concaténez, découpez, recherchez et remplacez le contenu de chaînes avec l’API std::string. Tu pratiques C++ Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C++ Academy ?

Aucune expérience préalable n'est requise. C++ Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Opérations sur les chaînes : concaténation, sous-chaînes, recherche et remplacement » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C++ Academy ?

Oui. Chaque leçon C++ Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. std::string ou tableaux de caractères à la manière C
  2. Opérations sur les chaînes : concaténation, sous-chaînes, recherche et remplacement
  3. Flux de chaînes stringstream pour l’analyse
  4. Conversions de chaînes : to_string et stoi
← Retour à C++ Academy