Contenu du cours
Types de Données C++
Types de Données C++
Méthodes de Chaîne Communes
Append
Nous avons vu qu'ajouter de nouveaux caractères à la fin d'une chaîne en utilisant l'indexation n'est pas possible. Cependant, il existe une méthode pratique .append()
à cet effet.
append
str.append("added part");
Concaténer
Une autre façon de le faire est d'utiliser l'opérateur +
. Il effectue la concaténation lorsqu'il est appliqué aux chaînes.
main
#include <iostream> int main() { std::string str = "Code"; str = str + "finity"; // or str += "finity" std::cout << str << std::endl; }
Il permet également d'ajouter du texte au début ou aux deux extrémités, ce que .append()
est incapable de faire.
main
#include <iostream> int main() { std::string str = "finity"; str = "code" + str + ".com"; std::cout << str << std::endl; }
Insérer
Vous pouvez insérer un nouveau texte dans une chaîne à une position spécifique en utilisant la méthode .insert()
.
insert
str.insert(pos, "text to add");
La position, spécifiée par le paramètre pos
, détermine où le nouveau texte sera ajouté.
Le nouveau texte est inséré avant le caractère actuellement à la position donnée. Cette méthode est utile pour modifier dynamiquement les chaînes sans en créer de nouvelles.
Remplacer
Vous pouvez également remplacer une partie d'une chaîne par une chaîne différente. Cela est réalisable en utilisant la méthode .replace()
.
replace
str.replace(start, n, "new text");
Ici, start
signifie l'index du premier élément à remplacer, et n
représente la longueur de la partie à remplacer.
Ce qui suit est un gif de comment .replace()
fonctionne.
Effacer
Vous pouvez également supprimer une partie d'une chaîne en utilisant la méthode .erase()
. Cela est utile lorsque vous devez supprimer des caractères ou des sous-chaînes spécifiques d'une chaîne.
erase
str.erase(start, n);
Si le paramètre n
correspond ou dépasse la longueur restante de la chaîne à partir de start
, tous les caractères à partir de start
seront effacés.
Les paramètres start
et n
fonctionnent de manière similaire à ceux de la méthode .replace()
, offrant une flexibilité pour modifier la chaîne selon les besoins.
main
#include <iostream> int main() { std::string str = "finity"; str.append(".com"); // finity to finity.com std::cout << str << std::endl; str = "in" + str; // finity.com to infinity.com std::cout << str << std::endl; str.insert(2, "de"); // infinity.com to indefinity.com std::cout << str << std::endl; str.replace(0, 2, "co"); // indefinity.com to codefinity.com std::cout << str << std::endl; str.erase(10, 4); // codefinity.com to codefinity std::cout << str << std::endl; }
Merci pour vos commentaires !