zeilen aus txt file löschen

  • also ich habe ein txt file in dem ich 2 zeilen löschen will ich habe es mit stringreplace versucht aber der hat daruas

    #######
    test123
    123test
    #######
    das gemacht
    #######


    #######

    code:

    [autoit]


    $text = StringReplace($file, "test123", "")
    FileWrite(@TempDir & "\lol.txt", $text)

    [/autoit]

    wie kann ich machen des er die 2 zeilen löscht?

    Edit GtaSpider: Bitte immer auf gelöst stellen, wenn es gelöst ist (1. Beitrag editieren und auf Gelöst umstellen)

    Einmal editiert, zuletzt von GtaSpider (9. November 2008 um 13:16)

  • [autoit]


    $sFile = "test.txt"
    $hFile = FileOpen ( $sFile, 0)
    $iLine = 1
    $sContent = ""
    While 1
    $sLine = FileReadLine ( $hFile )
    If @error <> 0 Then ExitLoop
    If $iLine <> 2 Then ;Die Zeile die ausgelassen werden soll, hier könnt auch ein Regulärer Ausdruck stehen usw.
    $sContent &= $sLine & @CRLF
    EndIf
    $iLine += 1
    WEnd
    FileClose ($hFile)
    $hFile = FileOpen ($sFile, 2)
    FileWrite ($hFile, $sContent)
    FileClose ($hFile)

    [/autoit]
  • Was haltet ihr von dieser Lösung ?

    Spoiler anzeigen
    [autoit]


    _ZeileLoeschenTxt("in.txt", 5, "out.txt")

    [/autoit] [autoit][/autoit] [autoit]

    Func _ZeileLoeschenTxt($InName, $zeilennr, $OutName = "")
    $in = FileRead($InName)
    If $OutName = "" Then $OutName = $InName
    FileWrite($OutName, StringLeft($in, StringInStr($in, @CRLF, 1, $zeilennr - 1) + 2) & StringMid($in, StringInStr($in, @CRLF, 1, $zeilennr) + 3))
    EndFunc

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"