Gå til innhold

lese fra en fil. splitte linjer og skrive til ny fil


Anbefalte innlegg

Hei.

 

Er ganske så grønn på dette her. Jeg lurer på hvordan jeg kan gjøre dette her:

 

Jeg har en txt fil.

I denne står data på denne måten(uten <>):

 

<verdi1.1>;<verdi1.2>;<verdi1.3>;<verdi1.4>

<verdi2.1>;<verdi2.2>;<verdi2.3>;<verdi2.4>

 

Det kan være x antall linjer.

 

Dette vil jeg da at skal splittes og skrives til et ny txt fil f. eks på denne måten:

 

-<verdi1.1>

--<verdi1.2>

----<verdi1.3>

-----<verdi1.4>

-<verdi2.1>

--<verdi2.2>

---<verdi2.3>

----<verdi2.4>

 

Hvordan jeg løse dette? Eventuelt hvor kan jeg lese meg fram til dette?

Lenke til kommentar
Videoannonse
Annonse

Jeg går ut ifra at dette er .NET:

 

Du må først lese inn filen med tekst. Dette kan gjøres slik: 'Dim txtfil As String = My.Computer.FileSystem.ReadAllText(stitilfil)'

 

Du må så splitte dokumenetet etter tegnet ";" som kan gjøres slik: 'Dim txtsplit As String() = txtfil.Split(";")'

 

Så kan du sette alt inn i en For Each kommando for å ta hver linje i arrayet txtsplit:

'For Each txtstring As String In txtsplit

My.Computer.FileSystem.WriteAllText(stitilnyfil, txtstring & ControlChars.NewLine, True)

Next'

Lenke til kommentar

Ble det kortere enn dette her da?

Public Sub ConvertFormat(ByVal Input As String, ByVal Output As String)

   Dim Result As New System.Text.StringBuilder, Values() As String

   ' Gå gjennom hver linje i målfil
   For Each Line In IO.File.ReadAllLines(Input)

       ' Hent alle verdier i denne linjen
       Values = Line.Split(";c")

       ' Legg til N bindestreker i hver verdi etter indeks i original linje
       For Index As Integer = 1 To Values.Length
           Result.AppendLine(New String("-", Index) & Values(Index - 1))
       Next

   Next

   ' Lagre modifikasjon
   IO.File.WriteAllText(Output, Result.ToString)

End Sub

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...