Thema: Delphi Problem mit Pos/PosEx

Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#12

AW: Problem mit Pos/PosEx

  Alt 12. Apr 2021, 01:54
Hier mal ein PascalScript, dass mit den Daten von Wikipedia (wie mir scheint) funktioniert:
Delphi-Quellcode:
program Test;

function DeleteSearchText(sText, sSearchTextA, sSearchTextB : String) : String;
var
  iPos1 : Integer;
  iPos2 : Integer;
  iLenA : Integer;
  iLenB : Integer;
begin
  iLenA := Length(sSearchTextA);
  iLenB := Length(sSearchTextB);
  while Pos(sSearchTextA,sText) > 0 do begin
    iPos1 := Pos(sSearchTextA,sText);
    iPos2 := PosEx(sSearchTextB,sText,iPos1 + iLenA);
    sText := Copy(sText,1,iPos1 - 1) + Copy(sText,iPos2 + 1,Length(sText));
  end;
  Result := sText;
end;

var
  i : Integer;
begin
  for i := 0 to Editor.Count - 1 do begin
    WriteLn(DeleteSearchText(Editor[i],'data-sort-value="','"'));
  end;
end.
Editor ist 'ne Stringliste, in die ich den fraglichen Inhalt der Seite https://de.wikipedia.org/w/index.php...edit&section=1 per Copy&Paste eingefügt habe.
Code:
aus

|style="border-style:none; text-align:center;" data-sort-value="A!"|

wird

|style="border-style:none; text-align:center;" |

aus

| [[Acabus Verlag|ACABUS Verlag]] || [[Hamburg]] || 2008 ||data-sort-value="Diplomica"| [[Diplomica Verlag|Verlagsgruppe Diplomica]] || Belletristik, Sachbuch

wird

| [[Acabus Verlag|ACABUS Verlag]] || [[Hamburg]] || 2008 ||| [[Diplomica Verlag|Verlagsgruppe Diplomica]] || Belletristik, Sachbuch

aus

|data-sort-value="Krüger"| [[Bücher Krüger]] || Dortmund || 1833 ||data-sort-value="2009"| † 2009 ||

wird

|| [[Bücher Krüger]] || Dortmund || 1833 ||| † 2009 ||
  Mit Zitat antworten Zitat