none
Excluir linha que contém uma string RRS feed

  • Pergunta

  • Pessoal,

    Tenho o script abaixo que exclui linhas vazias de um arquivo .txt, funciona legal.

    Const ForReading = 1
    Const ForWriting = 2

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("C:\temp\arquivo.txt", ForReading)

    Do Until objFile.AtEndOfStream
        strLine = objFile.Readline
        strLine = Trim(strLine)
        If Len(strLine) > 0 Then
            strNewContents = strNewContents & strLine & vbCrLf
        End If
    Loop

    objFile.Close

    Set objFile = objFSO.OpenTextFile("C:\temp\arquivo.txt", ForWriting)
    objFile.Write strNewContents
    objFile.Close

    Agora, gostaria de adaptá-lo para excluir apenas as linhas que contenham uma sequência de caracteres, por ex: Excluir a linha inteira que contém "f-g-h-i" sendo que a linha inteira seja "a-b-c-d-e-f-g-h-i-j-k-l"

    Conseguem ajudar?

    Obrigado

    quarta-feira, 25 de julho de 2012 13:15

Respostas

  • Tente trocar a linha

     If Len(strLine) > 0 Then


    por

    If instr(strLine,"f-g-h-i") > 0 Then

    A função instr localiza em que posição está a string procurada, quando ele traz "0" é porque não encontrou.


    Fábio de Paula Junior


    • Marcado como Resposta Marco_AM quarta-feira, 25 de julho de 2012 15:16
    • Não Marcado como Resposta Marco_AM quarta-feira, 25 de julho de 2012 19:11
    • Marcado como Resposta Marco_AM quarta-feira, 25 de julho de 2012 21:28
    • Editado Fábio JrModerator quarta-feira, 25 de julho de 2012 21:36 Correção
    quarta-feira, 25 de julho de 2012 13:44
    Moderador

Todas as Respostas

  • Tente trocar a linha

     If Len(strLine) > 0 Then


    por

    If instr(strLine,"f-g-h-i") > 0 Then

    A função instr localiza em que posição está a string procurada, quando ele traz "0" é porque não encontrou.


    Fábio de Paula Junior


    • Marcado como Resposta Marco_AM quarta-feira, 25 de julho de 2012 15:16
    • Não Marcado como Resposta Marco_AM quarta-feira, 25 de julho de 2012 19:11
    • Marcado como Resposta Marco_AM quarta-feira, 25 de julho de 2012 21:28
    • Editado Fábio JrModerator quarta-feira, 25 de julho de 2012 21:36 Correção
    quarta-feira, 25 de julho de 2012 13:44
    Moderador
  • Olá Fábio, obrigado mais uma vez, deu certo mas com um porém... O script apagou TODAS as linhas que não continham a string, e gravou no mesmo arquivo apenas as linhas que continham a string entendeu? Ou seja, perdi todo o resto do meu arquivo original... Mas não tem problema, estava só fazendo testes e vou recomeçar agora...
    quarta-feira, 25 de julho de 2012 15:15
  • Marco,

    Desculpa.

    Continue assim... testando.

    If instr(strLine,"f-g-h-i") > 0 Then

    Quanto ao outro pedido eu vou dividir este tópico pois já é uma dúvida diferente do inicial.


    Fábio de Paula Junior

    quarta-feira, 25 de julho de 2012 21:18
    Moderador
  • Fábio, vamos fechar essa thread, em partes já tinha resolvido minha dúvida ok. Vamos continuar com a nova dúvida que é mais importante para mim. "Dividir arquivo em dois, um que contém determinada string, outro não"
    quarta-feira, 25 de julho de 2012 21:30