Exclua uma linha escolhida de um arquivo de texto usando ASP?
-
21-09-2019 - |
Pergunta
Eu tenho um loop que encontra linhas duplicadas em um arquivo .ini. Felizmente, encontro as linhas duplicadas e escrevo novas linhas no arquivo usando o arquivo de sistema de sistema, no entanto ... não consigo descobrir como excluir as linhas duplicadas. O que eu quero fazer é excluir as linhas por número de linha, pois já identifiquei o número da linha relevante.
Existe uma maneira nativa de fazer isso ou é um caso de reescrever o arquivo menos as linhas duplicadas?
Qualquer ajuda é muito apreciada.
Obrigado.
Meu método de encontrar a entrada duplicada é o seguinte:
Do While Not file.AtEndOfStream
intLineNumber = intLineNumber + 1
strReadLineText = file.ReadLine
If strSearchText <> "" And InStr(strReadLineText, strSearchText) > 0 Then
session("message") = "Line Exists on " + Cstr(intLineNumber)
'' # delete duplicate line...
End If
Loop
file.Close()
Você pode ver onde está meu comentário, é onde desejo remover a linha encontrada.
Solução
Não há métodos internos para fazer isso no VBScript (ou nos objetos intrínsecos).
Meu voto seria usar a concatenação de string para conseguir isso; ou seja, em vez de excluir linhas, criar um novo arquivo, linha por linha e apenas anexar à string se a linha não existir na string que você está construindo.