none
Compare RRS feed

Respostas

  • Uma maneira fácil e prática, segue abaixo:

    System.IO.StreamReader arquivo = new System.IO.StreamReader(@"c:\temp\teste.txt");
    StringBuilder sb = new StringBuilder();
    string linha = string.Empty;
    bool gravar = false;
    
    while ((linha = arquivo.ReadLine()) != null)
    {
         if (linha.Contains("Test Scenario: Cenario 1"))
              gravar = true;
         else if (linha.Contains("Test Scenario: Cenario 2"))
              gravar = false;
    
         if (gravar)
              sb.AppendLine(linha);
    }
    File.AppendAllText(@"C:\temp\resultado.txt", sb.ToString());
    arquivo.Close();
    Valeu! Se for útil marque como resposta!

    • Marcado como Resposta SirSmart quarta-feira, 20 de julho de 2016 14:02
    quarta-feira, 20 de julho de 2016 12:55

Todas as Respostas

  • Olá,

    Dá uma olhada nesse projeto implementado no GitHub que é feito em C#: https://github.com/mmanela/diffplex

    Espero que ajude. Se sim marque como resposta.

    Valeu!

    terça-feira, 19 de julho de 2016 18:08
  • Desculpa amigo, vou explicar melhor:

    Tenho o arquivo abaixo:

    Test Story: Liquidação de Titulos
    COMO Stakeholders
    Quero criar um modelo
    Para demonstrar algo
    
    Test Scenario: Cenario 1
    
    DADO tenho uma conta do tipo <tipo de conta> com um saldo de <saldo inicial>
    Quando aplico jueros mensais de <taxa juros> sobre o saldo
    Então terei um novo saldo de <saldo final>
    E sexo <sexo>
    
    Exemplos:
    |saldo inicial |tipo de conta     |sexo  |taxa de juros    |saldo final  |
    |1000          |poupança          |M     |1%               |10100        |
    |''            |poupança          |''    |''               |10300        |
    |1000          |renda fixa        |''    |5%               |10500        |
    |1000          |''                |F     |5%               |10500        |
    |''            |renda fixa        |''    |5%               |10500        |
    
    Test Scenario: Cenario 2
    
    DADO tenho uma conta do tipo <tipo de conta> com um saldo de <saldo inicial>
    Quando aplico jueros mensais de <taxa juros> sobre o saldo
    Então terei um novo saldo de <saldo final>
    E sexo <sexo>
    
    Exemplos:
    |saldo inicial |tipo de conta     |sexo  |taxa de juros    |saldo final  |
    |1000          |poupança          |M     |1%               |10100        |
    |''            |poupança          |''    |''               |10300        |
    |1000          |renda fixa        |''    |5%               |10500        |
    |1000          |''                |F     |5%               |10500        |
    |''            |renda fixa        |''    |5%               |10500        |
    
    
    

    Minha aplicação verifica os "Test Cenario".

    Preciso fazer o seguinte:

    Quero apenas o Cenário 2 e não o Cenario 1. Desta forma precisaria montar o arquivo da forma baixo:

    Test Story: Liquidação de Titulos
    COMO Stakeholders
    Quero criar um modelo
    Para demonstrar algo
    
    Test Scenario: Cenario 2
    
    DADO tenho uma conta do tipo <tipo de conta> com um saldo de <saldo inicial>
    Quando aplico jueros mensais de <taxa juros> sobre o saldo
    Então terei um novo saldo de <saldo final>
    E sexo <sexo>
    
    Exemplos:
    |saldo inicial |tipo de conta     |sexo  |taxa de juros    |saldo final  |
    |1000          |poupança          |M     |1%               |10100        |
    |''            |poupança          |''    |''               |10300        |
    |1000          |renda fixa        |''    |5%               |10500        |
    |1000          |''                |F     |5%               |10500        |
    |''            |renda fixa        |''    |5%               |10500        |

    Como posso fazer isso via código, pois não estou sabendo como ler esse arquivo e remonta-lo

    Obrigado


    SirSmart

    terça-feira, 19 de julho de 2016 18:44
  • Sinceramente não entendo o que quer fazer, os dois cenários contidos no seu exemplo são exatamente iguais.

    Se você quer remover só a parte que vai do termo "Test Scenario: Cenario 1" até antes de começar a parte do "Test Scenario: Cenario 2" você pode percorrer linha a linha do arquivo e quando achar "Test Scenario: Cenario 1" começar a remover as linhas. Aí quando encontrar "Test Scenario: Cenario 2" para de remover

    terça-feira, 19 de julho de 2016 18:55
  • Na verdade os arquivos estão diferentes porque preciso arrancar o cenario 1 do mesmo. O problema é que não estou sabendo fazer isso porque o cenário 1 vai da linha "Test Scenario" até o "barra", ou seja, até uma linha antes de começar o "Cenário 2"

    Test Scenario: Cenario 1
    
    DADO tenho uma conta do tipo <tipo de conta> com um saldo de <saldo inicial>
    Quando aplico jueros mensais de <taxa juros> sobre o saldo
    Então terei um novo saldo de <saldo final>
    E sexo <sexo>
    
    Exemplos:
    |saldo inicial |tipo de conta     |sexo  |taxa de juros    |saldo final  |
    |1000          |poupança          |M     |1%               |10100        |
    |''            |poupança          |''    |''               |10300        |
    |1000          |renda fixa        |''    |5%               |10500        |
    |1000          |''                |F     |5%               |10500        |
    |''            |renda fixa        |''    |5%               |10500        |
    

    Como faço para remover isso ?

    Obrigado


    SirSmart

    quarta-feira, 20 de julho de 2016 12:33
  • Uma maneira fácil e prática, segue abaixo:

    System.IO.StreamReader arquivo = new System.IO.StreamReader(@"c:\temp\teste.txt");
    StringBuilder sb = new StringBuilder();
    string linha = string.Empty;
    bool gravar = false;
    
    while ((linha = arquivo.ReadLine()) != null)
    {
         if (linha.Contains("Test Scenario: Cenario 1"))
              gravar = true;
         else if (linha.Contains("Test Scenario: Cenario 2"))
              gravar = false;
    
         if (gravar)
              sb.AppendLine(linha);
    }
    File.AppendAllText(@"C:\temp\resultado.txt", sb.ToString());
    arquivo.Close();
    Valeu! Se for útil marque como resposta!

    • Marcado como Resposta SirSmart quarta-feira, 20 de julho de 2016 14:02
    quarta-feira, 20 de julho de 2016 12:55