Você está aqui: C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir todas as ocorrências de uma substring em uma string C++ usando uma função substituir_string() personalizadaQuantidade de visualizações: 10658 vezes |
|
Nesta dica mostrarei como podemos tirar proveito das funções empty(), size(), find(), replace() e length() da classe String do C++ para escrever uma função substituir_string() personalizada que nos permite substituir todas as ocorrências de uma substring em uma string. Veja o código C++ completo para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <string>
#include <iostream>
using namespace std;
// função personalizada para substituir todas as ocorrências
// de uma substring em uma string
void substituir_string(string& str, const string de,
const string para){
// variáveis auxiliares
int i = 0, indice;
// a string está vazia?
if(str.empty()){
str = de;
return;
}
// fazemos as substituições da substring
while(i < str.size()){
indice = str.find(de, 0);
if(indice >= 0){
str.replace(indice, de.length(), para);
}
else{
return;
}
i++;
}
}
// função principal do programa
int main(int argc, char *argv[]){
// vamos criar uma string
string frase = "Java? Gosto de Java, Java!";
cout << "A frase original é: " << frase << endl;
// Substitui as ocorrências de "Java" por "PHP"
substituir_string(frase, "Java", "PHP");
// e mostramos o resultado
cout << "Depois da substituição: " << frase << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: A frase original é Java? Gosto de Java, Java! Depois da substituição: PHP? Gosto de PHP, PHP! |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






