Функция что заменяет символы в строке, но по отдельности, а не ReplaceAll

Нужно создать функцию которая будет заменять каждый сивол по отдельности. Например String str = "abc"; functionName(str где "a" замени на "b", "b" замени на "c" ); В конечном итоги результат должен быть "bcc". Ступор происходит на том моменте, что заменив первый "a" на "b", он потом меняется на "с" и результат получается "ccc". А нужно что бы он после первой замены дальше не шёл. Но пользователь сам будет выбирать, что он будет менять. Если скажем надо будет заменить в имени "Маша", первое "a" на "и", а второе "а" на "е". То есть поменял два одинаковых символа на разные.


Ответы (1 шт):

Автор решения: Igor Kudryashov

Пример

public class ReplaceLetter {

    public static void main(String[] args) {
        String source = "Привет с Большого Бодуна!"; // исходная строка
        String[] replacemet = {"1", "2", "3", "4", "5"}; // на что меняем
        System.out.println(replace(source, "о", replacemet)); // о - что меняем

    }
    public static String replace(String source, String  replaceable, String[] replacemet) {
        for(int x = 0; x < replacemet.length; x++) {
            source = source.replaceFirst(replaceable, replacemet[x]);
        }
        return source;
    }

}

На выходе получим Привет с Б1льш2г3 Б4дуна!. Все буквы "о" заменены на разные значения.

→ Ссылка