C # Como saltar líneas en el archivo de texto tras el texto convertido en matriz?

StackOverflow https://stackoverflow.com/questions/4417916

  •  08-10-2019
  •  | 
  •  

Pregunta

Tengo un programa que procesa un archivo de registro de texto y tokenizes los archivos de texto.

Después de tokenizar el archivo de texto, el programa debe ser capaz de saltar las primeras 5 líneas de la nueva salida que contiene

"RipXP v.20081001

Lanzado Vie Dic 2010 12:50:21 3 Z

J: \ syscrawl \ Registro \ config \ system

USBSTOR

ControlSet001 \ Enum \ UsbStor "

Por favor alguien puede asesorar sobre los códigos?

Los Códigos:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;


namespace Testing
{
class Program
{
    static void Main(string[] args)
    {
        TextReader tr = new StreamReader(@"C:\Test\new.txt");

        String SplitBy = "----------------------------------------";

        String fullLog = tr.ReadToEnd();

        String[] sections = fullLog.Split(new string[] { SplitBy }, StringSplitOptions.None);

        foreach (String r in sections)
        {
            Console.WriteLine(r);
            Console.WriteLine("============================================================");
        }
    }
  }
  }

una muestra de la salida:

"RipXP v.20081001 Lanzado Vie Dic 2010 12:50:21 3 Z

J: \ syscrawl \ Registro \ config \ system UsbStor ControlSet001 \ Enum \ UsbStor

Altavoces y Ven_SanDisk y Prod_Ultra_Backup y Rev_8.32 [1 Mar Dic 2010 07:39:09 S / N: 2584820A2890B317 y 1 [Wed Dec 1 07:39:22 2010] FriendlyName: SanDisk Ultra Copia de seguridad de dispositivos USB

Altavoces y Ven_WD y Prod_Virtual_CD_070A y Rev_1032 [Mar Oct 1 07:31:33 2010] S / N: 575836314331304639303339 y 1 [Vie Dic 3 05:41:48 2010] FriendlyName: WD dispositivo virtual de CD 070A USB

Disco y Ven_SanDisk y Prod_Ultra_Backup y Rev_8.32 [Mar Oct 1 07:39:09 2010] S / N: 2584820A2890B317 y 0 [Wed Dec 1 07:39:19 2010] FriendlyName: SanDisk Ultra Copia de seguridad de dispositivos USB ParentIdPrefix: 8 y 2f23e350 y 0

Disco y Ven_WD y Prod_My_Passport_070A y Rev_1032 [Mar Oct 1 07:31:33 2010] S / N: 575836314331304639303339 y 0 [Vie Dic 3 05:41:48 2010] FriendlyName: WD My Passport 070A dispositivo USB

Otros y Ven_WD y Prod_SES_Device y Rev_1032 [Mar Oct 1 07:31:33 2010] S / N: 575836314331304639303339 y 2 [Vie Dic 3 05:41:48 2010]

=============================================== =============

Información del punto de restauración Descripción: Sistema de Checkpoint Tipo: Sistema de Checkpoint Hora de creación: Lun Nov 29 de 2010 16:51:52

J: \ syscrawl \ Restore \ RP1 \ snapshot_REGISTRY_MACHINE_SYSTEM

ControlSet001 \ Enum \ UsbStor no encontrado.

=============================================== ============= "

¿Fue útil?

Solución 2

La respuesta fue el lector corriente que debe comenzar la lectura de la posición de línea diferentes antes de utilizar el método split. Los códigos: C # Como saltar número de líneas al leer archivo de texto usando la corriente Reader?

Otros consejos

ooooh creo que u desea cadena concat de originales

String.Replace es la mejor solución aquí

string data = tr.ReadToEnd();
data.Replace(Environment.NewLine, " ")
.Replace("----------------------------------------", "============================================================");
Console.WriteLine(data);

editar nuevamente

Lo siento, realmente entiendo no haga la pregunta. pero para saltar primero 5 líneas

string lines = tr.ReadToEnd().Split('\n');
StringBuilder sb = new StringBuilder();
for(int i = 5; i < lines.Length; i++) sb.AppendLine(lines[i]);
string sixthLineToEnd = sb.ToString();

esperanza que ayuda

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top