GARANTIR DESCONTO

Fórum Substituir uma sequencia de caracteres em C++ #505368

25/12/2014

0

Olá, eu sou novo aqui :)

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

Lucas Balena

Responder

Posts

25/12/2014

Lucas Balena

Bem, resolvi criar minha própria função, já que não encontrei em lugar algum:

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é?
Responder

Gostei + 0

25/12/2014

Lucas Balena

Se quiser mudar o nome da função pode colocar tipo "substituir".

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.
Responder

Gostei + 0

25/12/2014

Gleyton Menezes

Lucas, Feliz Natal

esse seu exemplo é a pratica de logica de programação?
Responder

Gostei + 0

25/12/2014

Lucas Balena

Gleyton, Feliz Natal igualmente :)

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.
Responder

Gostei + 0

25/12/2014

Gleyton Menezes

Feliz Natal, entendi pouco algumas coisas que citou, kkkk.

abraço.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar