Registriert seit: 27. Nov 2017
2.490 Beiträge
Delphi 7 Professional
|
AW: Problem mit Pos/PosEx
11. Apr 2021, 23:42
Ungefähr sowas? (nur hingedaddelt ala Delphi 7)
Delphi-Quellcode:
function GetText(sText : string; sData : String; cDelim : Char) : String;
var
iPos1 : Integer;
iPos2 : Integer;
iData : Integer;
begin
// Länge des zu entfernenen Textes zuzüglich Delimiter ermitteln:
iData := Length(sData + cDelim);
// '[[Hamburg]] || 2008 ||data-sort-value="Diplomica"| [[Diplomica Verlag|Verlagsgruppe Diplomica]] || Belletristik, Sachbuch';
// Position von ||data-sort-value=" ermitteln:
iPos1 := Pos(sData,sText);
// Alles hinter dieser Position plus der Länge von ||data-sort-value=" holen:
// Diplomica"| [[Diplomica Verlag|Verlagsgruppe Diplomica]] || Belletristik, Sachbuch
sData := Copy(sText,iPos1 + ciData,Length(sText));
// Die Position von " ermitteln:
iPos2 := Pos(cDelim,sData);
// Alles ab der 1. Stelle hinter dieser Postion holen:
// | [[Diplomica Verlag|Verlagsgruppe Diplomica]] || Belletristik, Sachbuch
sData := Copy(sData,iPos2 + 1,Length(sData));
// Aus dem Ursprungstext alles vor der Positon holen:
// '[[Hamburg]] || 2008
sText := Copy(sText,1,iPos1 - 1);
// Den ersten Teil des Ursprungstexte und den hinteren Teil zusammenfügen:
Result := sText + sData;
end;
begin
sText := '[[Hamburg]] || 2008 ||data-sort-value="Diplomica"| [[Diplomica Verlag|Verlagsgruppe Diplomica]] || Belletristik, Sachbuch';
sText := GetText(sText, '||data-sort-value=','"');
end;
Sollte aus einem gegebenen Text auch andere Fragmente entfernen können.
|
|
Zitat
|