Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Memo bestimmte Zeichen löschen (https://www.delphipraxis.net/183651-memo-bestimmte-zeichen-loeschen.html)

strom 26. Jan 2015 11:24

Memo bestimmte Zeichen löschen
 
hallo,

möchte gerne im Memo bestimmte Zeichenkette löschen!

"<message>Hier steht ein Text</message>"

Möchte jetzt gerne "<message> </message>" löschen! Egal wie viele Zeichen dazwischen stehen.

Perlsau 26. Jan 2015 11:32

AW: Memo bestimmte Zeichen löschen
 
Und worin besteht dabei das Problem? Daß du nicht weißt, wie man auf den Memo-Text zugreift? Oder daß du nicht weißt, wie man eine bestimmte Zeichenfolge im Memo-Text löscht?

Es gibt zwei StringReplace-Methoden, einmal für AnsiStrings und einmal für Unicode (ab Delphi 2009). Daher wäre es auch extrem hilfreich, wenn du deine verwendete Delphi-Version angeben würdest, am besten in deinem Profil, dann erscheint das auch immer unter deinem Avatar.

Jumpy 26. Jan 2015 11:43

AW: Memo bestimmte Zeichen löschen
 
Zitat:

Zitat von strom (Beitrag 1287765)
Möchte jetzt gerne "<message> </message>" löschen! Egal wie viele Zeichen dazwischen stehen.

Möchtest du jetzt nur die beiden Tags löschen (dann sollten Perlsau's Links weiterhelfen) oder auch das, was dazwischen steht?

DeddyH 26. Jan 2015 12:21

AW: Memo bestimmte Zeichen löschen
 
Reguläre Ausdrücke wären vielleicht auch eine Option.

strom 26. Jan 2015 12:21

AW: Memo bestimmte Zeichen löschen
 
hallo perlsau :-)

Danke für Deine Hilfe!

Könnte das gehen?

Delphi-Quellcode:
Memo1.Lines[1]:= StringReplace(Memo1.Lines.Strings[-1], '</message>', '', [rfReplaceAll, rfIgnoreCase]);

DeddyH 26. Jan 2015 12:26

AW: Memo bestimmte Zeichen löschen
 
Zitat:

Delphi-Quellcode:
Memo1.Lines.Strings[-1]

Worauf willst Du denn da zugreifen? Ich würde mir den kompletten Text in einer Variablen zwischenspeichern, diese dann bearbeiten und zum Schluss im Ganzen wieder zurückschreiben. Aus dem Kopf:
Delphi-Quellcode:
var
  MemoText: string;
begin
  MemoText := Memo1.Lines.Text;
  MemoText := StringReplace(MemoText, '<message>', '', [rfReplaceAll, rfIgnoreCase]);
  MemoText := StringReplace(MemoText, '</message>', '', [rfReplaceAll, rfIgnoreCase]);
  // usw.
  Memo1.Lines.Text := MemoText;
end;

strom 26. Jan 2015 12:47

AW: Memo bestimmte Zeichen löschen
 
hallo deddyH,

hast recht, werde es mal testen!

Danke :-)

Perlsau 26. Jan 2015 13:01

AW: Memo bestimmte Zeichen löschen
 
Zitat:

Zitat von strom (Beitrag 1287779)
hallo perlsau :-)

Danke für Deine Hilfe!

Könnte das gehen?

Delphi-Quellcode:
Memo1.Lines[1]:= StringReplace(Memo1.Lines.Strings[-1], '</message>', '', [rfReplaceAll, rfIgnoreCase]);

Probier's doch einfach mal aus :warn:


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