Member 13498963 Ответов: 1

Поиск нескольких файлов в слове и замена его на одно слово при щелчке события


Мне нужно найти слова в файле журнала, такие как "информация", "ошибка", "предупреждение", "фатальный" в файле и нужно заменить его на слово "отладка" при нажатии флажка. Если я сниму флажок, то слова из "DEBUG" должны быть заменены на исходное состояние, например "INFO", "ERROR" и т. д.


Я не знаю, как справиться с этим массивом или что-то в этом роде. Кроме того, как сохранить предыдущее состояние файла?

private void ToggleforDebugMode(bool IsDebug)
    {
        string text = @"C:\Program Files (x86)\Hi.config";
        string filePath = Path.GetDirectoryName("Hi.config") + fileName;
        text = File.ReadAllText(@"C:\Program Files (x86)\Hi.config");
        if (IsDebug)
        {
            _previousState = text.Contains("WARN") ? "WARN" : "INFO";

            if(text.Contains("WARN"))
            {
                text = text.Replace("WARN", "DEBUG");
            }
            else if (text.Contains("DEBUG"))
            {
                text = text.Replace("INFO", "DEBUG");
            }               

        }
        else
        {
             text = text.Replace("DEBUG", _previousState);
        }
        File.WriteAllText(@"C:\Program Files (x86)\Galileo Print Manager .NET\GPM_Service.exe.config", text);
    }


Что я уже пробовал:

Я попытался использовать файл.Метод Replace (). Но это полезно для поиска и замены только одного слова.

1 Ответов

Рейтинг:
0

Wendelius

Что касается замены слов, то почему бы просто не использовать несколько операций замены. Например

...
text = text.Replace("INFO", "DEBUG");
text = text.Replace("ERROR", "DEBUG");
text = text.Replace("WARN", "DEBUG");
...


А что касается предыдущего состояния, то, наверное, самый простой способ-это перечитывание файла в переменную.


Member 13498963

Да, спасибо за это. но я изо всех сил пытаюсь сделать цикл для этого сценария, например: "как найти предупреждение и отладку, доступные в текстовом файле?"

Wendelius

Что вы хотите сделать петлей? У вас есть несколько текстовых файлов или что-то еще?