_StringRegExp Frage

  • Hallo,

    Gibt es eine Möglichkeit folgendes Problem mit _StringRegExp zu lösen?


    Ich will mehrere Zeilen auslesen. Aus denen ich bis zu einer bestimmten Stelle den Text haben will.

    Die Zeilen können so aussehen:

    Unterschiedlicher Text den ich haben will Schlüsselwort1 Unterschiedlicher Text den ich nicht haben will
    Unterschiedlicher Text den ich haben will Schlüsselwort1 Unterschiedlicher Text den ich nicht haben will Schlüsselwort2 Unterschiedlicher Text den ich nicht haben will
    Unterschiedlicher Text den ich haben will Schlüsselwort2 Unterschiedlicher Text den ich nicht haben will
    Unterschiedlicher Text den ich haben will


    Gruss
    Steffen

    Einmal editiert, zuletzt von Spion (4. August 2012 um 21:22)

  • Geh doch mit FileReadLine jede Zeile durch und prüfe mit StringSplit auf das Schlüsselwort.

    • Offizieller Beitrag

    Hier die RegExp-Variante:

    [autoit]


    #include <Array.au3>
    $sData = 'Unterschiedlicher Text1 den ich haben will Schlüsselwort1 Unterschiedlicher Text den ich nicht haben will' &@CRLF
    $sData &= 'Unterschiedlicher Text2 den ich haben will Schlüsselwort1 Unterschiedlicher Text den ich nicht haben will Schlüsselwort2 Unterschiedlicher Text den ich nicht haben will' & @CRLF
    $sData &= 'Unterschiedlicher Text3 den ich haben will Schlüsselwort2 Unterschiedlicher Text den ich nicht haben will' & @CRLF
    $sData &= 'Unterschiedlicher Text4 den ich haben will' & @CRLF
    $aData = StringRegExp($sData, '(?:\A|\v)(.+?)(?:Schlüsselwort1|Schlüsselwort2|\v)', 3)
    _ArrayDisplay($aData)

    [/autoit]
  • Spion:

    Wenn dir das noch nicht geholfen hat, wäre es von Vorteil wenn du uns als Beispiel einen Ausschnitt der Zeilen gibst, dann kann man auch näher darauf eingehen.

    Schöne Grüße
    Jason