Avatar billede cmau Nybegynder
27. februar 2007 - 19:15 Der er 7 kommentarer og
1 løsning

Find linje i fil og slet den.

Hejsa

Jegh ar en txt fil, hvordan kan jeg finde en linje og slette denne?
Avatar billede kalp Novice
27. februar 2007 - 19:55 #1
hvis du omskriver det til VB selv?

  StreamReader reader = File.OpenText("c:\\enfil.txt");
            string nyfil = "";
            Regex regexp = new Regex("la la la la", RegexOptions.IgnoreCase);
            nyfil = regexp.Replace(reader.ReadToEnd(), "");
            reader.Close();
            StreamWriter writer = new StreamWriter("c:\\enfil.txt");
            writer.Write(nyfil);
            writer.Close();


og importer
System.Text.RegularExpressions;
Avatar billede cmau Nybegynder
27. februar 2007 - 19:58 #2
HVad står det da i der? :P
Avatar billede kalp Novice
27. februar 2007 - 19:59 #3
c#
Avatar billede kalp Novice
27. februar 2007 - 19:59 #4
Det er samme API
Avatar billede kalp Novice
27. februar 2007 - 20:06 #5
Det er smårettelser der skal laves så tror jeg at det her vil virke i VB

            StreamReader reader = File.OpenText("c:\\enfil.txt")
            string nyfil = ""
            Regex regexp As New Regex("la la la la", RegexOptions.IgnoreCase)
            nyfil = regexp.Replace(reader.ReadToEnd(), "")
            reader.Close()
            StreamWriter writer As New StreamWriter("c:\\enfil.txt")
            writer.Write(nyfil)
            writer.Close()
Avatar billede cmau Nybegynder
27. februar 2007 - 21:20 #6
Får fejl i hver evigeneste linje, tror ikke steamreader findes i visualbasic.net
Avatar billede kalp Novice
27. februar 2007 - 21:25 #7
du skal lave en import på

System.IO

og selvfølgelig findes den... det er samme API som sagt.
Avatar billede cmau Nybegynder
27. februar 2007 - 22:03 #8
Lavede på en anden måde, brugte en funktion jeg skrev til at finde en linje i en fil.

    Private Sub deleteevent_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deletedate.Click
        'Hvis bruger klikker ok til at slette fortsæt da.
        If MsgBox("Vil du virkelig slette denne dato?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
            Dim filename As String = contentfile
            Dim fields As String()
            Dim delimiter As String = "#"
            Dim txt As String = ""
            'Opdel linjerne i filen ved #.
            Using parser As New TextFieldParser(filename)
                parser.SetDelimiters(delimiter)
                'Kør i løkke til alle linjer er gennemgået.
                While Not parser.EndOfData
                    'Tilføj teksten fra den linje de er i.
                    fields = parser.ReadFields()
                    'Hvis datoen ikke er den valgte dag.
                    If Not rowdate.Text = fields(0) Then
                        'Tilføj til 'txt'.
                        txt = txt & fields(0) & "#" & fields(1) & "#" & fields(2) & vbNewLine
                    End If
                End While
            End Using
            'Slet indholdsfilen.
            My.Computer.FileSystem.DeleteFile(contentfile, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin)
            'Opret den igen uden den valgte dato.
            My.Computer.FileSystem.WriteAllText(contentfile, txt, False)
            'Luk event vinduet.
            Me.Close()
            'Opdel dato fra 'rowdate'.
            arr = rowdate.Text.Split("-")
            'Load kalenderen igen uden den slettede.
            Form1.makedates(arr(1) - 1, arr(2))
        End If
    End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester