Hallo,
mein Ziel ist es, aus einer Textdatei alle Zeilen einzulesen.
Ich mache die wie folgt. Ich lese die Datei ein und speichere die einzelnen Zeilen in ein Array.
Nun will ich, das alle Zeilen, welchen mit
# beginnen aus dem Array gelöscht werden oder erst gar nicht
in das Array abgespeichert werden. Wie mache ich das?
[
attachment=11486]
Die Datei sieht folgendermaßen aus:
Code:
#Text
#Text
#....beliebig viele Zeilen mit #
32;+;1;0,05
32;-;2;0,05
511;+;2;0,05
511;-;2;0,05
...
Ich hab das jetzt ein wenig abgeändert. Die Daten in dem Textfile sind nicht mehr
durch Semikolon, sondern durch TAB getrennt. Demzufolge lese ich die Daten mit dem
VI "Read From Spreadsheet File" ein. Ich erhalte eine 2D-Array mit den gewünschten Werten.
Ein Problem hab ich noch. Wie kann ich die leeren Zeilen löschen? (die Zeilen, welche mit #
beginnen, gar nicht in 2D-Array darstellen)
[
attachment=11494]
' schrieb:[attachment=38626:datei.png]
Das VI-Bild ist übrigens ein Nonsens-VI. Es kommt zum Schluß zwar das Richtige heraus, aber die vielen Iterationen (mit Ausnahme der letzten) sind nur Luftbuchungen. Also Schleife einfach weglassen und an den Index eine -1 anzuschließen.
Stimmt. Allerdings mach ich das ja jetzt anders (wie oben beschrieben).
Wie löscht man nun leere Zeilen aus einem Array?
' schrieb:Stimmt. Allerdings mach ich das ja jetzt anders (wie oben beschrieben).
Wie löscht man nun leere Zeilen aus einem Array?
Hi,
so gehts...allerdings ist das mühsam, da alle Zeilen überprüft werden...das kann lange dauern! Am besten wäre, wenn du festlegen könntest, wiegroß der Header ist...
[
attachment=11501]
' schrieb:Hi,
so gehts...allerdings ist das mühsam, da alle Zeilen überprüft werden...das kann lange dauern! Am besten wäre, wenn du festlegen könntest, wiegroß der Header ist...
[attachment=38642:test2_1_neu.vi]
Hallo,
leider funktioniert das so nicht. Das VI "Search 1D Array" sucht nach Elementen mit #, und zwar nur nach #.
Mein Header allerdings sieht so aus:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>#Zeile1
#Zeile2
#usw.</div>
Das heißt, das das Arrayelement nicht nur aus dem Hash-Zeichen besteht, sondern zusätzlich auch aus Text. Demzufolge wird das Element nicht erkannt.
Wie kann ich die Suche so abändern, das nur das erste Zeichen des Elements überprüft wird?
Dann überprüfe doch einfach mit den Funktionen in der String-Palette (z.B. Search String Pattern o.ä.), ob das erste Zeichen deines Strings ein # ist.
Ist doch wirklich nicht so schwer...
MfG, Jens