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
- std::string ou tableaux de caractères à la manière C
- Opérations sur les chaînes : concaténation, sous-chaînes, recherche et remplacement
- Flux de chaînes stringstream pour l’analyse
- Conversions de chaînes : to_string et stoi