![]() |
Von-Bis im Text ausschneiden
Hallo zusammen,
ich habe folgende Problematik. Ich habe eine Textdatei in der ich bestimme sachen ausschneiden möchte. Ich Suche nach der Stelle: <a href=" Wenn ich diese gefunden habe, möchte ich gerne ab dem Gänsefüsschen bis zum nächsten Gänsefüsschen den Inhalt auslesen. Im Text sind es meistens ca. 10 st. Meine Frage, hat jemand sollch eine Funktion schon oder ein Beispiel? Vielen Dank |
Re: Von-Bis im Text ausschneiden
Reguläre Ausdrücke wären was für dich ;) '<a href="(.[^"]*?)"'
|
Re: Von-Bis im Text ausschneiden
|
Re: Von-Bis im Text ausschneiden
Ok das verstehe ich, aber was ich noch nicht verstehe ist folgendes.
Wenn mehrere Links in dieser Textdatei stehen, wie kann ich das dann durch eine Schelife laufen lassen? Also wie springe ich zur nächsten Position und wohere weiss ich das ich am Ende bin? |
Re: Von-Bis im Text ausschneiden
Du sprichst von einer Textdatei. Die wird üblicherweise zeilenweise gelesen/geschrieben. Innerhalb der Zeile wird dann wie vorstehend beschrieben gesucht und geschnippelt :coder:
|
Re: Von-Bis im Text ausschneiden
Und Funktionen wie PosEx() haben einen Rückgabewert, den man auswerten kann ;)
|
Re: Von-Bis im Text ausschneiden
PosEx gibt die Stelle des gefundenen SubStr in Str zurück. Wird SubStr nicht in Str gefunden, so ist der Rückgabewert 0
Delphi-Quellcode:
Aus Mangel an Delphi (im Moment), konnte ich das gerade nicht testen (v.a. bin ich mir gerade mit dem korrekten Aufruf von Copy und PosEx nicht sicher :) ).
procedure GetUrls(Str: string; stringliste: TStringList);
var index: Integer; indexStringEnde: Integer; begin stringliste.Clear; index := Pos('<a href="', Str); while (index > 0) do begin // Hier dein Copy-Befehl und sonstiges um die Daten zu ermitteln // z.B. indexStringEnde := PosEx('"', Str, index + Length('<a href="')); stringliste.Add(Copy(Str, index + Length('<a href="'), indexStringEnde)); index := PosEx(SubStr, Str, index + 1); end; end; Es sollte aber so funktionieren. Grüße, Marc |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz