Reguläre Ausdrücke

  • Hallo Zusammen,

    ich habe ein Problem bei der Benutzung von regulären Ausdrücken. Ich muss aus einem Textdokument in dem sich Leerzeichen und unvollständige Daten befinden alle Leerzeichen entfernen inklusive der Buchstaben "rt" nach den Leerzeichen. Die unvollständigen Daten (Zeilen) müssen gelöscht werden. Die brauchbaren Daten müssen in ein neues Textdokument eingefügt werden. Wichtig ist nur, dass reguläre Ausdrücke auf jeden Fall benutzt werden. Ich habe zwar den Befehl (StringRegExp) gefunden, der die Leerzeichen eigentlich entfernen sollte aber das bekomme ich nicht ans Laufen. Im Anhang findet ihr das zu bearbeitende Textdokument.


    $start = 1
    $datei = FileOpen("\Neues Textdokument 2.0")
    $zeile = FileReadLine($datei, $start)
    while 1
    $new = StringRegExp($zeile, "([^\S])
    MsgBox(0, "", $new)
    If $zeile == 1 Then
    FileWriteLine("\abc","$zeile", $start)
    ElseIf $zeile Not == 1 Then
    FileReadLine($zeile + 1, $start)
    EndIf

    WEnd

  • Die Spaces kannst du doch einfach mit StringReplace() entfernen.
    Und für das zweite würde ich ein StringRegExReplace nehmen. Das genaue Pattern kann ich dir aber leider nicht geben

    LG

    LG

    Philip

  • Ich würde es so lösen:

    AutoIt
    $sData=FileRead('Neues Textdokument 2.0.txt')
    $sData=Stringreplace($sData,' '&@CRLF,'')
    $sData=Stringreplace($sData,' rt','')
    $sData=StringStripWS($sData,7)
    ConsoleWrite($sData)
    $hFile=FileOpen('New.txt',2)
    FileWrite($hFile,$sData)
    FileClose($hFile)
    ShellExecute('New.txt')

    auch kein RegEX, aber wie du siehst es geht auch ohne.