Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Strings (https://www.delphipraxis.net/11394-strings.html)

Capa 5. Nov 2003 19:12


Strings
 
Hi also ich hab da mal ne frage und zwar hab ich strings in folgender form.
(xx:xx:xx)

xx = können 1-2 Stellen sein
xx = können 1-3 Stellen sein
xx = können 1-2 Stellen sein

So und in einem String sind leider nicht nur diese daten sondern können beliebige zeichen sein
aber ich will nur diese sachen herausfiltern.
Wie gesagt da sie so variabel sind ist das ein kleines Problem, wer mir da helfen kann bitte hier
posten wäre sehr nett.

Mfg Capa


Edit1: Als Beispiel 'Tal des Grauens(11:100:7)' und da will ich halt nur die 11:100:7 haben.

mirage228 5. Nov 2003 19:23

Re: Strings
 
erst mit pos von '(' und ')' den Klammerausdruck und dann mit

EXPLODEEXPLODE die einzelnen Werte in einen Array speichern.

mfG
mirage228

Capa 6. Nov 2003 03:50

Re: Strings
 
wie schon gesagt man kann auch vorher schon klammern mit dabei haben also so:
'(1)Teufelsschlucht(1:1:1)'

Mit Pos hab ich auch schon gearbeitet nur das klappt nicht so wie ich es will weil
man halt die klammern immer nehmen kann so wie in dem bsp.

Duffy 6. Nov 2003 06:23

Re: Strings
 
Hallo Capa,
wenn die Strings grundsätzlich als Trennzeichen einen ":" Doppelpunkt haben, würde ich die Klammern, also von Klammer auf bis einschließlich Klammer zu, einfach aus dem String entfernen und dann wie mirage228 die Funktion Explode oder eine ähnliche Funktion den String in seine Terme zerlegen. Wichtig ist eigentlich nur, daß Du die eigentliche Strings anhand von Trennzeichen auseinanderhalten kannst, also das eine feste Regel da ist.
bye
Claus

himitsu 6. Nov 2003 07:45

Re: Strings
 
Gibt es noch mehr Überrachungen, die man auch noch mit einbeziehen müsste?

"...(x:x:x)"
"(x)...(x:x:x)"

[edit=sakura]Smileys deaktiviert ;-) Mfg, sakura[/edit]

Sharky 6. Nov 2003 07:47

Re: Strings
 
Hai Capa,

ändere doch den Titel deiner Frage bitte etwas ab.
Unter "Strings" können sich eine Unzahl an verschiedenen Fragen verbergen.

Danke :-D

Wormid 6. Nov 2003 11:39

Re: Strings
 
Also, wenn die Klammer mit den Zahlen immer am Ende stehen, dann hätte ich folgenden Lösungsvorschlag anzubieten, bei dem egal ist, wieviele Klammern vor der letzten stehen:

Delphi-Quellcode:
var
  S: String;
  i: Integer;
  Tokens: TStringList;
begin
  S := '(1) Teufelsschlucht (11:222:33)';

  // Die Coords (oder was das auch immer ist) rauskopieren...
  i := Length(S) - Pos('(', ReverseString(S)) + 2; // ReverseString ist in der Unit StrUtils!
  S := Copy(S, i, Length(S) - i);

  Tokens := TStringList.Create;

  // Den String in die einzelnen Werte aufteilen... In jeder Zeile der Stringlist steht nun ein Wert.
  for i := 0 to ExtractStrings([':'], [], PChar(S), Tokens) - 1 do
    Memo1.Lines.Add(Tokens[i]);

  Tokens.Free
end;
Gruß

Wormid

Capa 6. Nov 2003 15:02

Re: Strings
 
:) Danke an alle der letzte Beitrag hat genau das ergebnis erzielt was ich mir erhofft hatte :)
Thx ² Wormid


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