LabVIEWForum.de - Array nach String durchsuchen

LabVIEWForum.de

Normale Version: Array nach String durchsuchen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

gibt es eine Möglichkeit/VI, dass ich vielleicht noch nicht kenne um eine .txt-Datei bzw. ein Array nach einem String zu durchsuchen und gleichzeitig den Index für die Reihe zu bekommen? Kurzes Beispiel für meine .txt-Datei:

Datum Seriennummer Prüfer Kategorie Fehler

xx.xx.xx 0000xxxxxx 123 Pruefstandfehler Oszi hängt sich auf
xx.xx.xx 0000xxxxxx 123 Maschinenfehler Gasventil undicht


Ich möchte zwischen der Kategorie "Pruefstandfehler" und "Maschinenfehler" unterscheiden. Als Beispiel möchte ich jetzt die Datei nach allen Maschinenfehlern durchsuchen. Ich suche also mit "Index Array" in Spalte 3 und ab Zeile 2-.... nach dem String Maschinenfehler. Da ich aber nicht nur Maschinenfehler auswerten will sondern die ganze Zeile, brauche ich jetzt eine Möglichkeit die komplette Zeile zu lesen.

Oder ist es leichter einfach eine zweite Datei zu erstellen und direkt nach den Kategorien zu sortieren? Big Grin
???

Durchsuche die Spalte nach deinem String, mit "Search 1D Array"...dann kriegst du den Index...und denn schließt du dann an "Array Subset" an und kriegst so die ganze Zeile
Hallo Marco,

Zitat:Kurzes Beispiel für meine .txt-Datei:
Datum Seriennummer Prüfer Kategorie Fehler
xx.xx.xx 0000xxxxxx 123 Pruefstandfehler Oszi hängt sich auf
xx.xx.xx 0000xxxxxx 123 Maschinenfehler Gasventil undicht
Lies diese Datei als Array of Textzeilen ein, ReadTextFile bietet dir diese Option.
Dann nur noch eine autoindizierende FOR-Loop über alle Zeilen, die jede Zeile (bzw. ihren Index, der dem Schleifenzähler entspricht) per MatchPattern den beiden Fehlerklassen zuordnet…

[attachment=60586]
(In neueren LabVIEW-Versionen einfach conditional tunnels verwenden, um wirklich nur die interessierenden Indizes zu erhalten.)
(02.12.2019 09:09 )Achim schrieb: [ -> ]???

Durchsuche die Spalte nach deinem String, mit "Search 1D Array"...dann kriegst du den Index...und denn schließt du dann an "Array Subset" an und kriegst so die ganze Zeile

Hab kein 1D Array..

(02.12.2019 09:14 )GerdW schrieb: [ -> ]Hallo Marco,

Zitat:Kurzes Beispiel für meine .txt-Datei:
Datum Seriennummer Prüfer Kategorie Fehler
xx.xx.xx 0000xxxxxx 123 Pruefstandfehler Oszi hängt sich auf
xx.xx.xx 0000xxxxxx 123 Maschinenfehler Gasventil undicht
Lies diese Datei als Array of Textzeilen ein, ReadTextFile bietet dir diese Option.
Dann nur noch eine autoindizierende FOR-Loop über alle Zeilen, die jede Zeile (bzw. ihren Index, der dem Schleifenzähler entspricht) per MatchPattern den beiden Fehlerklassen zuordnet…


(In neueren LabVIEW-Versionen einfach conditional tunnels verwenden, um wirklich nur die interessierenden Indizes zu erhalten.)

Hallo Gerd,

ich finde die Funktion für "Array of Textzeilen" nicht. Bei mir kommt aus dem ReadTextFile nur ein riesen String raus..



Ich erstelle einfach eine zweite Datei und trenne die 2 Kategorien direkt von Anfang an..

Danke trotzdem für die Hilfe
Hallo Marco,

Zitat:ich finde die Funktion für "Array of Textzeilen" nicht. Bei mir kommt aus dem ReadTextFile nur ein riesen String raus..
Dann lies dir doch einfach mal die LabVIEW-Hilfe zur Funktion ReadFromTextfile durch und wähle die passenden Optionen und Inputs!
(02.12.2019 10:26 )GerdW schrieb: [ -> ]Hallo Marco,

Zitat:ich finde die Funktion für "Array of Textzeilen" nicht. Bei mir kommt aus dem ReadTextFile nur ein riesen String raus..
Dann lies dir doch einfach mal die LabVIEW-Hilfe zur Funktion ReadFromTextfile durch und wähle die passenden Optionen und Inputs!

Super, klappt jetzt.

Und danke für den kleinen Lernfaktor^^
Ich habe einfach nicht die Einstellung dafür gefunden...
Referenz-URLs