AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Strings

Ein Thema von Capa · begonnen am 5. Nov 2003 · letzter Beitrag vom 6. Nov 2003
Antwort Antwort
Capa

Registriert seit: 26. Okt 2003
102 Beiträge
 
RAD-Studio 2010 Arc
 
#1

Strings

  Alt 5. Nov 2003, 20:12
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.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Strings

  Alt 5. Nov 2003, 20:23
erst mit pos von '(' und ')' den Klammerausdruck und dann mit

EXPLODEEXPLODE die einzelnen Werte in einen Array speichern.

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Capa

Registriert seit: 26. Okt 2003
102 Beiträge
 
RAD-Studio 2010 Arc
 
#3

Re: Strings

  Alt 6. Nov 2003, 04:50
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.
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#4

Re: Strings

  Alt 6. Nov 2003, 07:23
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
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

Re: Strings

  Alt 6. Nov 2003, 08:45
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]
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Strings

  Alt 6. Nov 2003, 08:47
Hai Capa,

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

Danke
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Strings

  Alt 6. Nov 2003, 12:39
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
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
Capa

Registriert seit: 26. Okt 2003
102 Beiträge
 
RAD-Studio 2010 Arc
 
#8

Re: Strings

  Alt 6. Nov 2003, 16:02
Danke an alle der letzte Beitrag hat genau das ergebnis erzielt was ich mir erhofft hatte
Thx ² Wormid
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 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