Рейтинг:
2
#realJSOP
Вариация кода толи:
string text = File.ReadAllText(@"c:\File1.txt");
text = text.Replace("old value","new stuff");
File.WriteAllText(@"c:\File1.txt", text);
Смотрите! Никаких Регулярных Выражений!
Toli Cuturicu
Причина моего голосования 1
Это не сработает. Части слов могут быть заменены.
(text = "wordpad и winword-это текстовые процессоры,
текст.заменить("слово", "хорошее слово")
Marcus Riggs
ЗАМЕНИТ ЛИ ЭТО ТЕКСТ В ТЕКСТОВОМ ФАЙЛЕ БЕЗ ЕГО ОТКРЫТИЯ :)
#realJSOP
Это невозможно сделать.
Рейтинг:
2
Toli Cuturicu
Да. Используйте Регулярные Выражения!
Взгляните на это Regex
класс.
Например что-то вроде этого:
string strFile = File.ReadAllText(@"c:\File1.txt");
strFile = Regex.Replace(strFile, @"\boldvalue\b", "newvalue");
File.WriteAllText(@"c:\File1.txt", strFile);
asjadazeez
Ладно, это не сработает. причина, по которой я действительно хочу, чтобы эти данные были записаны в файл . Мне нужно, чтобы я открыл текстовый файл. поиск строки, и этот поиск я делаю с помощью filestream, и я ищу строку в каждой строке, если строка найдена в строке the, мне нужно заменить эту строку новой строкой. Регулярное выражение дает мне методы для замены строки, но не в файле. Есть ли какой - нибудь способ заменить строку в файле?
Toli Cuturicu
Я немного отредактировал ответ. Посмотрите еще раз, пожалуйста.
#realJSOP
Зачем заморачиваться с регулярными выражениями, когда объект String есть метод replace. Ты используешь кувалду, чтобы убить муху.
Christian Graus
Изменить текст в файле невозможно. Вам нужно прочитать файл в памяти, изменить его и сохранить поверх старого файла.
Sandeep Mewara
Вы дали мне здесь комментарий "http://www.codeproject.com/Answers/95939/Windows-Service.aspx#answer1"
Вы читали первоначальный вопрос, на который я ответил, Прежде чем комментировать?
Рейтинг:
2
Christian Graus
Почему вы не хотите следовать единственно разумному способу сделать это ? Как компьютер должен знать, какие значения "oldvalue" являются "правильными" ? Вам нужно будет написать свой собственный код, чтобы решить эту проблему, и в этом случае вам нужно разобрать весь текст и внести изменения на месте, по одному за раз. Нет никакого способа "волшебным образом" изменить только те экземпляры, которые вы хотите, если вы не можете использовать регулярное выражение для определения правила, которое всегда применяется, чтобы найти только те, которые вы хотите изменить.
asjadazeez
Итак, наконец, лучший способ редактировать текст в файле-это читать его строка за строкой и снова записывать его в тот же файл. Это должно быть нормально.Спасибо.