Inquiridor
C# Alterar a linha de um TXT que contenha um determinado texto

Pergunta
-
Iae Galera,
preciso pegar um arquivo de texto e alterar uma linha que contenha um determinado texto, por exemplo, quero alterar um arquivo .js, alterar a linha que contém user_pref("mail.identity.id1.sig_file", ""); para user_pref("mail.identity.id1.sig_file", "C:\\assinatura\\email.html");
Se alguém souber como posso fazer, vlw.
Todas as Respostas
-
Uma das maneiras é utilizar um Replace.
var texto = File.ReadAllText(@"arquivo.txt").Replace("texto antigo", "texto novo"); File.WriteAllText(@"arquivo.txt", texto);
ROBERTOSLJUNIOR
- Sugerido como Resposta Fulvio Cezar Canducci Dias terça-feira, 22 de setembro de 2015 15:12
-
-
-
-
Nesse caso você deve ler o arquivo, remover a linha e salvar o conteúdo.
var texto = File.ReadAllLines(@"arquivo.txt"); StringBuilder textoTemp = new StringBuilder(); foreach (string s in texto) { if (s != "texto procurado") { textoTemp.AppendLine(s); } } File.WriteAllText(@"arquivo.txt", textoTemp.ToString());
ROBERTOSLJUNIOR
- Sugerido como Resposta Fulvio Cezar Canducci Dias terça-feira, 22 de setembro de 2015 15:13
-
Quando se trabalha com processamento que são gravados em arquivos de texto, tudo que você alterar deve ser sobreescrito no mesmo arquivo, se você remover uma linha, primeiro leia o arquivo novamente altere seu conteudo e grave por cima do antigo.
Exemplo feito por mim no youtube:
Criação e leitura de arquivos Xml e Texto Video 1
Criação e leitura de arquivos Xml e Texto Video 2
Xml com XmlSerializer - Criação e Leitura
JSON com Json.NET - Criação e Leitura
A resposta de RobertosIJunior é a resposta de alteração do arquivo e ele logo abaixo faz o que eu disse Reescreve por cima do mesmo arquivo.
var texto = File.ReadAllText(@"arquivo.txt").Replace("texto antigo", "texto novo"); File.WriteAllText(@"arquivo.txt", texto);