![]() |
String mit Trennzeichen in Array?
Hallo!
ich lese eine CSV-Datei aus. Jede Zeile wird einzeln verarbeitet. Dabei würde ich diese Zeile gerne in ein Array einlesen. Geht soetwas auch einfacher, als mit Pos, Copy und Delete zu arbeiten und alles manuell zu machen? Danke :) |
Re: String mit Trennzeichen in Array?
Nein.
In der Code-Library findest du aber fertigen Code dafür. Such einfach mal nach explode. |
Re: String mit Trennzeichen in Array?
Oder mit Hilfe einer Stringliste
|
Re: String mit Trennzeichen in Array?
...welche immer noch den Bug (das Feature?) hat, dass Leerzeichen immer als Delimiter gewertet werden.
|
Re: String mit Trennzeichen in Array?
Zitat:
|
Re: String mit Trennzeichen in Array?
Zitat:
Bis neulich habe ich nämlich auch das Explode benutzt. Das ist aber meiner Meinung nach zu unperformant. Eine Stringlist mit StrictDelimiter und DelimitedText ist genauso anwenderfreundlich. Ich finde die Stringlist irgendwie sympatischer, vor allem, weil man auf das TStringDynArray = array of string; verzichten kann. Irgendwie habe ich eine Abneigung zu Arrays. 8) |
Re: String mit Trennzeichen in Array?
Unperformant? Ich bezweifle, dass eine TStringList schneller ist.
|
Re: String mit Trennzeichen in Array?
Zitat:
Das SetDelimitedText macht auch nicht viel anderes als das Explode. Aber irgendwie kommt mir die StringList sympatischer rüber, weil eben alles in einer Klasse vereint ist. Das mit der Gesachwindigkeit müsste man halt mal testen. Wie ist es bei kleinen Strings, wie bei grossen Strings? |
Re: String mit Trennzeichen in Array?
Ziemlich gleich, vermutlich. Das, was du sagst, hat aber nichts mit Performanz zu tun. Es ist einfacher, es ist übersichtlicher, aber nicht performanter.
|
Re: String mit Trennzeichen in Array?
Zitat:
Wenn ich jetzt mit einer TStringList arbeiten will, wie schaut das dann aus? Also ich habe aktuell die csv-Datei in der Stringliste aus den kompletten Inhalt bekomme auch auch heraus. Aber wie komme ich in Zeile 1 an das "Element" an Posisition 1? Also wenn man folgendes hat (als CSV-Datei): A;B;C D;E;F Wie würde ich da an das A kommen? |
Re: String mit Trennzeichen in Array?
Das wäre dann Element 0 in der Liste.
|
Re: String mit Trennzeichen in Array?
Bei einer CSV-datei würde sich auch ein CSVDataSet anbieten (z.B. aus der JVCL)
|
Re: String mit Trennzeichen in Array?
Hallo,
es werden übrigens zwei StringLists benötigt:
Delphi-Quellcode:
Getippt und nicht getestet.
function GetField(lines: TStrings; lineIndex, fieldIndex: Integer): string;
begin with TStringList.Create do try if lineIndex < lines.Count then CommaText := lines[lineIndex] else Text := ''; if fieldIndex < Count then Result := Strings[fieldIndex] else Result := ''; finally Free; end; end; Freundliche Grüße |
Re: String mit Trennzeichen in Array?
Hallo marabu, ich hab das so verstanden, dass die Datei eh zeilenweise abgearbeitet wird.
|
Re: String mit Trennzeichen in Array?
Hallo Deddy,
Zitat:
Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:29 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 by Thomas Breitkreuz