AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Von-Bis im Text ausschneiden

Ein Thema von Eppos · begonnen am 7. Okt 2008 · letzter Beitrag vom 8. Okt 2008
Antwort Antwort
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#1

Von-Bis im Text ausschneiden

  Alt 7. Okt 2008, 22:45
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
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Von-Bis im Text ausschneiden

  Alt 7. Okt 2008, 22:46
Reguläre Ausdrücke wären was für dich '<a href="(.[^"]*?)"'
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Von-Bis im Text ausschneiden

  Alt 8. Okt 2008, 00:01
Entweder das oder mit Delphi-Referenz durchsuchenPosEx und Delphi-Referenz durchsuchenCopy
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Von-Bis im Text ausschneiden

  Alt 8. Okt 2008, 11:55
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?
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#5

Re: Von-Bis im Text ausschneiden

  Alt 8. Okt 2008, 12:15
Du sprichst von einer Textdatei. Die wird üblicherweise zeilenweise gelesen/geschrieben. Innerhalb der Zeile wird dann wie vorstehend beschrieben gesucht und geschnippelt
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Von-Bis im Text ausschneiden

  Alt 8. Okt 2008, 12:17
Und Funktionen wie PosEx() haben einen Rückgabewert, den man auswerten kann
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#7

Re: Von-Bis im Text ausschneiden

  Alt 8. Okt 2008, 12:19
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:
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;
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 ).
Es sollte aber so funktionieren.


Grüße,
Marc
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz