Замена буквы в строке

368
20 августа 2017, 03:11

Есть алфавит, например, string alfabet="abc"; Далее..есть 1.txt, в котором есть строка imageLine я с клавиатуры ввел индекс строки: 3 то есть буква 'g'..ее, эту букву 'g' нужно заменить на буквы алфавитные, то есть вывод будет таким:

imaaeLine imabeLine imaceLine, как решить этот вопрос, у меня тупик, пока что.... именно замена нужна

P.S. пока написал так:

string str = "abc";
        string[] file1 = File.ReadAllLines(@"C:\Users\MSB\Desktop\1.txt");
        foreach (var lines1 in file1)
        {
            int enter_from_keyboard = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine(lines1);
            for (int i = 0; i < str.Length; i++)
            {
                string replace = lines1.Replace("", "");
                Console.WriteLine(lines1);
                Console.ReadKey();
            }
        }
Answer 1

Хм, попробуйте так.

        string alphabetString = "abc";
        string[] strings = { "imageLine" }; //Читаем из файла
        char[] alphabet = alphabetString.ToCharArray(); //Переводим в массив
        int index = Convert.ToInt32(Console.ReadLine());
        foreach (var word in strings) //Проход по всем словам (если оно одно, то можно обойтись без этого цикла).
        {
            List<string> wordList = new List<string>(); //Лист готовых слов (честно, так и не понял, чем лучше заменить).
            Console.WriteLine(word); //Выводим текущее слово (не измененное)
            StringBuilder stringBuilder = new StringBuilder(word); //Создаем из слова StringBuilder, что позволит нам изменять в слове необходимые буквы.
            foreach (var letter in alphabet) //Проход по алфавиту.
            {
                stringBuilder[index] = letter; //Заменяем взятую по индексу букву на нужную из алфавита.
                wordList.Add(stringBuilder.ToString()); //Добавляем измененное слово в наш список.
            }
            foreach (var item in wordList) //Тут уже ради теста сделал вывод всего на консоль
            {
                Console.WriteLine(item);   
            }
        }

Данный код возьмет слово/слова, прогонит и создаст определенное кол-во слов с измененной у них буквой, указанной индексом. Учтите, что отсчет в программировании идет с 0, то есть первая буква = 0!

Answer 2
file1.Replace(@"g", "")  //пробуй. Собачка нужна для того, что б на пустое место менять во вторых кавычках. 

В моем коде это выглядит вот так:)

ListMIX[i].Replace(@"B", "")
READ ALSO
Почему аллокация памяти в языках со сборкой мусора быстрее, чем в языках без них?

Почему аллокация памяти в языках со сборкой мусора быстрее, чем в языках без них?

Уже не первый раз слышу, что скорость аллокации в куче в C# или Java быстрее, чем в C++Я не могу понять, почему это может быть: аллокация в куче подразумевает...

384
Как запустить консольное приложение c# на сервере

Как запустить консольное приложение c# на сервере

охайо, написал телеграмм бота который выборочно автопостит из группы вк в канал(вебхуки и обработка сообщений не нужна)Бот написан шарповским...

403
combobox, запретить ввод данных кроме тех что загружены и подсвечивать по мере ввода

combobox, запретить ввод данных кроме тех что загружены и подсвечивать по мере ввода

Подскажите, элемент combobox в него загружен справочникМожно ли каким то образом по мере ввода показывать в выпадающем списке те данные которые...

240
Найти и удалить объект по его Uid/Name. WPF C#

Найти и удалить объект по его Uid/Name. WPF C#

Имеется Canvas, для него есть несколько дочерних объектов Image с прописанными Uid/NameВозможно ли из кода бихаинд найти заданные Image по Uid/Name и удалить...

326