String in Array speichen mit Trennzeichen

Anfängerfragen zum Programmieren mit PureBasic.
torstenh
Beiträge: 24
Registriert: 16.10.2010 21:37

String in Array speichen mit Trennzeichen

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: String in Array speichen mit Trennzeichen

Beitrag von ts-soft »

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
torstenh
Beiträge: 24
Registriert: 16.10.2010 21:37

Re: String in Array speichen mit Trennzeichen

Beitrag von torstenh »

.....kurz und knappt!

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

:bounce:
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: String in Array speichen mit Trennzeichen

Beitrag 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 ...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten