Metodi Comuni delle Stringhe
Scorri per mostrare il menu
Append
Abbiamo visto che aggiungere nuovi caratteri alla fine di una stringa tramite l'indicizzazione non è possibile. Tuttavia, esiste un comodo metodo .append() per questo scopo.
append.h
1str.append("added part");
Concatenazione
Un altro modo per farlo è utilizzare l'operatore +. Questo esegue la concatenazione quando applicato alle stringhe.
main.cpp
12345678#include <iostream> int main() { std::string str = "Code"; str = str + "finity"; // or str += "finity" std::cout << str << std::endl; }
Consente inoltre di aggiungere testo all'inizio o a entrambe le estremità, operazione che .append() non è in grado di eseguire.
main.cpp
12345678#include <iostream> int main() { std::string str = "finity"; str = "code" + str + ".com"; std::cout << str << std::endl; }
Inserisci
È possibile inserire nuovo testo in una stringa in una posizione specifica utilizzando il metodo .insert().
insert.h
1str.insert(pos, "text to add");
La posizione, specificata dal parametro pos, determina dove verrà aggiunto il nuovo testo.
Il nuovo testo viene inserito prima del carattere attualmente presente nella posizione indicata. Questo metodo è utile per modificare dinamicamente le stringhe senza crearne di nuove.
Sostituisci
È anche possibile sostituire una parte di una stringa con un'altra stringa. Questo si può ottenere utilizzando il metodo .replace().
replace.h
1str.replace(start, n, "new text");
Qui start indica l'indice del primo elemento da sostituire e n rappresenta la lunghezza della parte da sostituire.
Di seguito è riportata una gif che mostra il funzionamento di .replace().
Erase
È possibile rimuovere una parte di una stringa utilizzando il metodo .erase(). Utile quando è necessario eliminare caratteri o sottostringhe specifiche da una stringa.
erase.h
1str.erase(start, n);
Se il parametro n corrisponde o supera la lunghezza rimanente della stringa a partire da start, tutti i caratteri da start in poi verranno eliminati.
I parametri start e n funzionano in modo simile a quelli del metodo .replace(), offrendo flessibilità nella modifica della stringa secondo necessità.
main.cpp
123456789101112131415161718192021#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; }
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione