Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi In string suchen und dann löschen (https://www.delphipraxis.net/66561-string-suchen-und-dann-loeschen.html)

bonanza 31. Mär 2006 13:54


In string suchen und dann löschen
 
Hi,
ich habe einen String z.b.
Zitat:

Name: Herber Meyer, Uhrzeit: 12:46:43, Datum: 2.3.2001
Jetzt würde ich gerne aus diesem String z.b. das Wort "Uhrzeit" und "Datum" rauslöschen, wie geht das?

Danke für eure Hilfe schonmal im voraus !
Mfg
bonanza

Matze 31. Mär 2006 14:01

Re: In string suchen und dann löschen
 
Hi,

suche mit Delphi-Referenz durchsuchenPos danach und lösche es mittels Delphi-Referenz durchsuchenDelete.

Der_Unwissende 31. Mär 2006 14:04

Re: In string suchen und dann löschen
 
Hi,
einfacher geht das ganze mit StringReplace:

Delphi-Quellcode:
var s : String;
begin
 s := StringReplace(s, 'Datum', '', [rfReplaceAll]);
 s := StringReplace(s, 'Uhrzeit', '', [rfReplaceAll]);
end;
Für Genaueres, schau einfach in die OH

Gruß Der Unwissende

Matze 31. Mär 2006 14:07

Re: In string suchen und dann löschen
 
Zitat:

Zitat von Der_Unwissende
einfacher geht das ganze mit StringReplace

Hm, da ist was dran. Meins sähe so aus, falls es bonanza interessiert:

Delphi-Quellcode:
function DeleteStuff(const S, Del: string): string;
begin
  Delete(S, Pos(Del, S), Length(Del));
  result := S;
end;

// Aufruf:
MyString := DeleteStuff(MyString, 'Uhrzeit: ');
MyString := DeleteStuff(MyString, 'Datum: ');

alzaimar 31. Mär 2006 14:49

Re: In string suchen und dann löschen
 
@Matze: Sonderlich robust ist dann aber nicht, und auch nicht allgemeingültig, und auch nur für diesen speziellen Fall (Suchstring tritt jeweils genau 1x auf).

Matze 31. Mär 2006 14:51

Re: In string suchen und dann löschen
 
Zitat:

Zitat von alzaimar
@Matze: Sonderlich robust ist dann aber nicht, und auch nicht allgemeingültig, und auch nur für diesen speziellen Fall (Suchstring tritt jeweils genau 1x auf).

Stimmt, das kann man ja auch anders lösen, indem man den Namen als Parameter übergibt. Habe das nur schnell zusammengefriemelt.

Nachtrag: Aber ich editiere es, auch wenn es eine seltsame Lösung ist, sonst merkt sich das noch jemand so, danke. ...

himitsu 31. Mär 2006 15:15

Re: In string suchen und dann löschen
 
Statt Matze's Funktion könnte er es ja auch direkt machen,
Delphi-Quellcode:
Delete(MyString, Pos('Uhrzeit: ', MyString), 9);
Delete(MyString, Pos('Datum: ', MyString), 7);
oder als Prozedur?
Delphi-Quellcode:
procedure DeleteStuff(var S, Del: string);
begin
  Delete(S, Pos(Del, S), Length(Del));
end;

// Aufruf:
DeleteStuff(MyString, 'Uhrzeit: ');
DeleteStuff(MyString, 'Datum: ');

Matze 31. Mär 2006 15:23

Re: In string suchen und dann löschen
 
Zitat:

Zitat von himitsu
Statt Matze's Funktion könnte er es ja auch direkt machen

So hatte ich's zuerst, nur musste dann jemand rummeckern :mrgreen: Ne, war ja berechtigt. ;)

himitsu 31. Mär 2006 15:32

Re: In string suchen und dann löschen
 
Zitat:

Zitat von Matze
So hatte ich's zuerst, nur musste dann jemand rummeckern :mrgreen: Ne, war ja berechtigt. ;)

Konnte ich ja nicht ahnen. -.-''
Von der Ausführungsgeschwindigkeit her sollte es aber mit das Beste sein.

alzaimar 31. Mär 2006 16:52

Re: In string suchen und dann löschen
 
Zitat:

Zitat von Matze
So hatte ich's zuerst, nur musste dann jemand rummeckern :mrgreen:

:pale:


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