C# Как совершить такую замену?

177
13 сентября 2018, 12:40

Вот допустим есть у меня такой текстовик

хочу сделать программу.

Будет работать примерно так

название поля windowBg: и справа идет само поле куда вписывается допустим #00ff00 и нужно при нажатии на кнопку на выходе получить текстовик с уже замененным значением, то есть чтоб вместо windowBg: #bd4b4b; было windowBg: #00ff00; как сделать такую замену?

Answer 1

Как я понял, нужно найти в файле значение по ключу, изменить его и перезаписать файл. Тогда вот так:

// ключ, по которому будем искать, и значение, на которое будем менять
string key = "windowBg", value = "#00ff00";
// сюда читаем и сохраняем весь файл
List<string> text = new List<string>();
using (StreamReader reader = new StreamReader("file.txt"))
    while(!reader.EndOfStream)
        text.Add(reader.ReadLine());
// ищем нужную нам строку по ключу и меняем в ней значение на новое
for (int i = 0; i < text.Count; i++)
{
    if (text[i].Split(':')[0] == key)
    {
        text[i] = string.Format("{0}: {1};", key, value);
        break;
    }
}
// записываем файл с изменениями
using (StreamWriter writer = new StreamWriter("file.txt"))
    foreach (string line in text)
        writer.WriteLine(line);

Писал в браузере и не проверял, так что извините за ошибки, если будут.

READ ALSO
Asterisk. Список абонентов в отдельном файле

Asterisk. Список абонентов в отдельном файле

Изучаю asterisk и на данный момент уже поднял сервер на Ubuntu и совершаю звонки с/на устройствахИнтересует вопрос: можно ли каким-нибудь образом...

163
Оптимизация скрипта-парсера xml

Оптимизация скрипта-парсера xml

очень прошу помочь мне оптимизировать скрипт (xml парсер) по памяти

187
Поиск слов в базе данных

Поиск слов в базе данных

В базе есть строка такого вида a:3:{i:0;s:16:"Женщинам";i:1;s:12:"одежда";i:2;s:14:"Пиджаки";} те функция php serialize нужно осуществить поиск по словам: Женщинам...

198