![]() |
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. |
Re: Strings
erst mit pos von '(' und ')' den Klammerausdruck und dann mit
![]() mfG mirage228 |
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. |
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 |
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] |
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 |
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:
Gruß
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; Wormid |
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 15:51 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