Seite 1 von 1

String in Array speichen mit Trennzeichen

Verfasst: 16.10.2010 21:45
von torstenh
Hallo liebe Gemeinde,

bin neu hier im Forum und habe auch schon das erste Problem. Ich möchte ein String in ein Array einlesen aber nicht Zeichenweise sondern mit Trennzeichen. Komme da aber leider nicht weiter da ich keinen Ansatz finde.
der zu lesende String sieht z.B. so aus:

1,01,123,543,456,456

jetzt möchte ich gern das "Komma" als Trennzeichen nehmen und nur die Zahlen als Element in einem Array haben. Funktioniert das ohne große Umwege?
Unten mein bisheriger Code:

Code: Alles auswählen

;Text aus csv lesen und speichern in einem Array 
If ReadFile(1, "WetterAktuell.csv")    
  Zeilenzaehler = 0
  While Eof(1) = 0   
    wetteraktuell(Zeilenzaehler) = ReadString(1)
    Zeilenzaehler +1 
  Wend
       CloseFile(1) 
Else
  MessageRequester("Information","Konnte csv nicht öffnen!")
EndIf

For w = 0 To Len(wetteraktuell(1)) - 1
  datenstring(w) =  PeekS(@wetteraktuell(1)+w,2)
   Debug datenstring(w)
Next
Kann mir jemand auf die Sprünge helfen?
Ein Link würde genügen!
Danke,

Grüße,
Torsten

Re: String in Array speichen mit Trennzeichen

Verfasst: 16.10.2010 21:48
von ts-soft

Re: String in Array speichen mit Trennzeichen

Verfasst: 16.10.2010 22:03
von torstenh
.....kurz und knappt!

DANKE! für die schnelle Hilfe!!!!

:bounce:

Re: String in Array speichen mit Trennzeichen

Verfasst: 16.10.2010 22:13
von STARGÅTE
An PHP gehalten hatte ich mir damals mal n Prozedure geschrieben:

Code: Alles auswählen

Procedure.i Explode(String.s, Separator.s, Array String.s(1))
  Protected Index, Count = CountString(String, Separator)
  Dim String(Count)
  For Index = 0 To Count
    String(Index) = StringField(String, Index+1, Separator)
  Next
  ProcedureReturn Count
EndProcedure

Dim Feld.s(0)

Fields = Explode("1,01,123,543,456,456", ",", Feld())

For Index = 0 To Fields
  Debug Feld(Index)
Next
Das kann man natürlich beliebig erweitern, zB um gleich Zahlen drauß zu machen ...