Delphi-Quellcode:
// Pos1 ist die Position des Ersten | in ||data-sort-value="
Pos1 := Pos('||data-sort-value="', stext,1);
// Pos1 + 1 ist die Position des Zweiten | in ||data-sort-value="
// Damit wird Pos2 die Position des gleichen " enthalten, wie Pos1.
Pos2 := Pos('"', stext, Pos1+1 ); // oder PosEx nutzen, ist aber in meiner Version gleich
// Es muss aber ab der Position Pos1 + der Länge von ||data-sort-value=" + 1 weitergesucht werden.
Pos2 := Pos('"', stext, Pos1 + Length(||data-sort-value=") + 1); // sollte funktionieren
Es klappt einfach nicht.
Ich habe nun versucht eure beiden Codes zusammenzufügen, weil ich eigentlich nicht den Text drum herum benötige, sondern den Suchtext aus dem Text entfernen möchte.
Mein eigentlicher Text ist dieser:
https://de.wikipedia.org/w/index.php...edit§ion=1
Alles, was in der Textbox auf der Webseite steht, soll umgewandelt werden. Doch vorher möchte ich diese störenden Tags entfernen.
Delphi-Quellcode:
function GetText(var stext: string; SearchTextA, SearchTextB: String; var Dummy_StringList: TStringList): boolean;
var
Pos1: Integer;
Pos2: Integer;
Data: Integer;
Dummy_String: String;
begin
try
while (Length(stext) > 0) and (stext <> SearchTextA) do
begin
Pos1 := Pos(SearchTextA, stext, 1);
Pos2 := Pos(SearchTextB, stext, Pos1 + 1) + Length(SearchTextA);
Dummy_String := Copy(stext, Pos1, Pos2); // Hier sollte doch nun eigentlich (z.B. data-sort-value="Diplomica" drin stehen. Tut es aber nicht, weil das zweite Suchargument (" bzw. "| nicht gefunden wurde. Der überspringt das einfach.
Delete(stext,pos1,pos2); // das sollte bitte eigentlich auch funktionieren.. ?
Dummy_StringList.Add( Dummy_String); // Als Test für mich, wird momentan nur im Debugger geprüft
end;
finally
result := true;
end;
end;