Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   StringReplace im Memo (https://www.delphipraxis.net/192933-stringreplace-im-memo.html)

erich.wanker 2. Jun 2017 14:21

StringReplace im Memo
 
Hallo Leute...
um einen HTML Code von den nervigen "cid"-Einträgen ;-) zu befreien such ich eine Möglichkeit - folgende 2 Einträge zu verändern:


1. src="cid:1234567890"
2. src="cid:image001.jpg@1234567890"


sollte ergeben

1. src="1234567890"
2. src="image001.jpg"

Das 1.ist kein Problem (hoffe ich)-
Delphi-Quellcode:
for x:=0 to memo1.Lines.Count-1 do
  begin
    memo1_text:=memo1.Lines[x];
    StringReplace(memo1_text, 'src="cid:', 'src="',[rfReplaceAll]);
Das 2. ist Momentan noch ein kleines Rätsel für mich :-)

Hat jemand eine Lösung?
Erich

SneakyBagels 2. Jun 2017 14:32

AW: StringReplace im Memo
 
Du könntest in memo1_text nach @ suchen und dann alles bis zum letzten " entfernen.
Oder du kopierst von 1 bis @ und fügst am Ende " an.

Zacherl 2. Jun 2017 14:45

AW: StringReplace im Memo
 
Ich würde hier ja einfach mal reguläre Ausdrücke
Delphi-Quellcode:
TRegEx
in den Raum schmeißen.

nahpets 2. Jun 2017 15:01

AW: StringReplace im Memo
 
Delphi-Quellcode:
memo1.text := AnsiReplaceText(memo1.text,'cid:','');
memo1.text := AnsiReplaceText(memo1.text,'@1234567890','');
oder sowas (ungetestet)
Delphi-Quellcode:
function cidWeg(s : String) : String;
var
  i : Integer;
  k : Integer;
begin
  s := AnsiReplaceText(s,'cid:','');
  i := Pos('@',s);
  if i > 0 then begin
    k := PosEx('"', s, i);
    if k > 0 then begin
      Result := Copy(s,1,i - 1) + Copy(s,k,Length(s));
    end else begin
      Result := Copy(s,1,i - 1) + '"';
    end;
  end else begin
    Result := s;
  end;
end;

var
  x : Integer;
begin
  for x := 0 to memo1.Lines.Count - 1 do begin
    memo1.Lines[x] := cidWeg(memo1.Lines[x]);
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 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