Fórum Substituir uma sequencia de caracteres em C++ #505368
25/12/2014
0
Existe um comando assim:
Exemplo:
string a = "Brasil";
a = a.replace("s", "z");
Esse comando só consegue substituir um caractere por vez!
E eu quero uma sequencia!
Eu fiquei sabendo de um replaceAll, mas da erro de compilação.
Alguém pode me ajudar?
:)
Lucas Balena
Curtir tópico
+ 0Posts
25/12/2014
Lucas Balena
Estou disponibilizando para quem quiser usar:
Eu fiz ela com muito carinho:
string replaceAll (string palavra, string a, string b)
{
//Autoria de Lucas Balena
string kkk = "";
for(int i = 0 ; i <= palavra.length() ; i++)
{
for(int j = 0 ; j <= palavra.length() - i ; j++)
{
kkk = kkk + palavra[j];
if(kkk == a)
{
for(int h = 0 ; h <= j ; h++)
{
palavra[h] = b[h];
}
}
}
}
return palavra;
}
Dai e só você usar ela assim:
#include <iostream>
using namespace std;
string replaceAll (string palavra, string a, string b)
{
//Autoria de Lucas Balena
string kkk = "";
for(int i = 0 ; i <= palavra.length() ; i++)
{
for(int j = 0 ; j <= palavra.length() - i ; j++)
{
kkk = kkk + palavra[j];
if(kkk == a)
{
for(int h = 0 ; h <= j ; h++)
{
palavra[h] = b[h];
}
}
}
}
return palavra;
}
int main()
{
string ola = "abacate";
cout << replaceAll(ola, "aba", "ola");
return 0;
}
Incrível né?
Gostei + 0
25/12/2014
Lucas Balena
Eu coloquei replaceAll porque era um teste.
Atenção o nome da função pode dar erro devido a tal função replaceAll (que eu nem sei se existe, testei e não deu certo) da bliblioteca String.
Boas Festas de fim de ano.
E Feliz Natal.
Abraços.
Gostei + 0
25/12/2014
Gleyton Menezes
esse seu exemplo é a pratica de logica de programação?
Gostei + 0
25/12/2014
Lucas Balena
Acho que não, eu estava precisando fazer isso para um software meu, então pesquisei em tudo que site (inclusive postei aqui para ver se alguém sabia), mas não encontrava!
Eu queria um código pronto. Que funciona-se simplesmente incluindo uma biblioteca. Encontrei o replace da biblioteca string mas ele só fazia de um char por vez.
Então falei para mim mesmo parar de ser preguiçoso e criar minha própria função. Vendo que a duvida que eu tinha era a mesma do que muitas pessoas na internet, resolvi postar a solução aqui depois de criar a função.
Gostei + 0
25/12/2014
Gleyton Menezes
abraço.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)