Thema: Delphi String zurechtschneiden

Einzelnen Beitrag anzeigen

ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

String zurechtschneiden

  Alt 31. Mär 2007, 14:22
Hallo,

Ich habe mehrere 100 Strings, die alle gleich aufgebaut sind.

Aus diesen String muss ich jetzt zwei Daten filten.

Ich habe jetzt schon eine Zeit lang mit Copy, Delete, etc herumprobiert, allerdings artet das jedesmal in >20 Zeilen Code aus.

Ich denke es müsse mit nur wenigen Zeilen Quellcode reichen.

Hier einmal einige Beispiel Strings:

1) BlockCommon[1] = new Array('ABN AMRO-GL.EM.MK.BD EO A','tts-4297166','347968',1103,99,347968,'Frankfurt',-1,'90,6700','30.03.','19:53:16','-0,1300','-0,1432','90,8000','518','90,6700','91,3500');
2) BlockCommon[1] = new Array('DWS EURO-BONDS (MEDIUM)','tts-4295882','971784',1103,99,971784,'Frankfurt',-1,'1.330,3600','30.03.','18:43:56','-0,3700','-0,0278','1.330,7300','0','1.329,5700','1.339,5500' );
3) BlockCommon[0] = new Array('Oberbank Faktor 7 Bond 05-12','tts-3377671','21401',1118,7,21401,'Wien',0,'90,9500',' 28.03.','13:15:11','0,0000','0,0000','93,5500','10 00','0,0000','0,0000');
4) BlockCommon[0] = new Array('Invesco Euro Rentenfonds T','FU_64234','64234',503,200,64234,'Fonds',-1,'121,9500','30.03.','00:00:00','-0,0400','-0,0328','121,9900','0','0,0000','0,0000');
5) BlockCommon[0] = new Array('Oberbank Winner Bond 05-13','tts-2983031','21399',1118,7,21399,'Wien',0,'92,7000',' 28.03.','13:00:02','0,0000','0,0000','93,9500','10 00','0,0000','0,0000');
6) BlockCommon[2] = new Array('IMMOEAST AG INH.','tts-3813554','64280',1103,1,64280,'Frankfurt',1,'11,05 00','30.03.','16:14:24','0,0100','0,0906','11,0400 ','1131','0,0000','0,0000');


Bei diesen Strings handelt es sich um Datensätze aus einer Aktien Datenbank.
Ich brauche jetzt genau den Kurs und das Datum

Also bei diesen Strings wäre das:

1) Kurs=90,6700 Datum=30.03.
2) Kurs=1.330,3600 Datum=30.03.
.
.
5) Kurs=92,7000 Datum=28.03.
.

Allgemein ist der String so aufgebaut:

BlockCommon[X] = new Array('X','X','X',X,X,'X',X,'KURS','DATUM','X','X' ,'X','X','X','X','X');
Achtung: Nicht überall sind ''

Wobei X immer irgendetwas sein kann.
Den Kurs und das Datum möchte ich auslesen, kann auch immer irgendetwas sein.


Hat jemand eine Idee wie ich diese Daten hinauskopieren Kann?


Also im Prinzip bräuchte ich zwei Funktionen:

function GetKurs(Input: String): String;
function GetDatum(Input: String): String;

Ich nehm mal an das löst man an besten mit dem rauskopieren bzw. rauslöschen der nicht benötigten sachen,
nur leider finde ich keine einfache Möglichkeit.

Wäre super wenn mir jemand Tips geben könnte, wie ich das am einfachsten hinbekomme.
  Mit Zitat antworten Zitat