Zamiana elementów w stringu.

0

Witam.
Mam jedno pytanie. Jak zamienić w stringu np. wszystkie znalezione 'x' na 'a'?
Wiem, jak zamienić jeden takowy 'x', tzn, jeśli string zawiera w sobie taki ciąg: abcdefxyz
mogę użyć

input.replace('x',1,'a');

czego skutkiem będzie zamiana znalezionej literki 'x' na 'a'. Jednak problem powstaje, gdy jest więcej niż jeden 'x' w stringu. W jaki sposób mogę zamienić wszystkie znalezione 'x' na 'a'?

Dzięki za pomoc.

1

Może wywołaj to w pętli?

0

Dzięki za pomoc. Taka głupia rzecz, a ja tu kombinuję i szukam jakichś wynalazków. :(
Wystarczyło dać:

        for (int i=0; i<cX; i++)
        {
            input.replace(input.find('x'),1,'a');
        }
0

zapomniałeś napisać jakiego typu stringów używasz. Przykładowo std::string nie ma przeładowanej wersji replace pasującej do twojego przykładu (konwersja char do int zrobi sieczkę z tego stringa).

edit: widzę, że najwyraźniej zrobiłeś błąd w pierwszej poście, bo drugi jest już sensowny.

0

Używam zwykłych stringów, definiując je string nazwa; I dla nich dziala nazwa.replace();

1
#include <algorithm>

std:: string s("plaplapla");
std::replace(s.begin(), s.end(), 'a', 'o');

1 użytkowników online, w tym zalogowanych: 0, gości: 1