Esercizio 7
Scrivere un programma C++ che, acquisita una stringa, esegua la ricerca e la sostituzione di una data sottostringa assegnata.
In C++ non c’è una funzione precostituita per eseguire la ricerca e la sostituzione di una stringa in un testo ma alcuni metodi che possono essere applicati a scelta; quello più semplice combinato di find() e replace().
#include <iostream>
#include <string>
using namespace std;
main(){
string s = "AB123 CD539 W123 ZZ BH546 C123X";
cout<<s<<endl;
string x = "123";
string y = "___";
int pos =-1;
while (pos += y.length()){
pos = s.find(x, pos);
if (pos == string::npos)break;
s.replace(pos, x.length(), y);
}
cout << s << endl;
}//fine main
In questo caso la sottostringa "123" presente nella stringa originale viene sostituita dalla sottostringa "___". Non necessariamente la stringa cercata e quella sostituita devono avere lo stesso numero di caratteri.