In String nach Bestandteil suchen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: In String nach Bestandteil suchen (/Thread-In-String-nach-Bestandteil-suchen) Seiten: 1 2 |
In String nach Bestandteil suchen - Lucki - 20.11.2006 15:30 Ergänzung: a) in meinem vorigen Beispiele hatte ich in den Daten ein ":" nicht durch "!" ersetzt, deshalb stimmt der vergleich nicht. b) Bei mir funktioniert es auch mit der Suchmethode einwandfrei. Die einzige Erklärung, die mir für das merkwürdige Verhalten bei Dir einfällt ist, daß die beiden Strings 9.9E+97 doch nicht gleich waren. Vielleicht hatte sich ein Leerzeichen eingeschlichen, welches durch den Übergang auf eine neue Zeile nicht zu sehen war. Edit: Achim, Entschuldige bitte meine Ignoranz. Sehe gerade, was ich hier präsentiere ist praktisch die identische Kopie des VIs von Dir. In String nach Bestandteil suchen - Y-P - 20.11.2006 15:40 Hallo, das sieht schon mal nicht schlecht aus, nur ist es so, dass die Anzahl und somit die Reihenfolge nicht immer dieselbe sein wird. In dem Beispiel würde es passen, aber ich habe auch noch eine Schaltmatrix, der ich über Switch-Executive Befehle, bzw. Pfade schicke. Da kann es dann mal sein, dass ich 5 Pfade schicke, oder auch mal nur 3 und dass die dann auch an einer anderen Stelle stehen. Von daher wäre es praktisch, wenn im gesamten "letzten Befehl" geschaut wird, ob der "aktuelle Befehl" enthalten ist (wie ich es vorgesehen hatte). Als zweiter Schritt wäre es gerade in Bezug auf die Matrix recht praktisch, wenn ich dann auch noch sehen könnte, welcher Schritt weggefallen ist, um entsprechende Pfade abzuschalten. Momentan ist es ja so, dass ich z.B. als aktuellen Befehl 1!3!4! habe und als vorigen Befehl 1!2!5!. Dann wird 3!4! geschickt, weil sich ja "1" nicht geändert hat. Praktisch wäre es, wenn an einem Ausgang dann 3!4! käme, zum Schalten und am anderen Ausgang 2!5!, zum Abschalten. Morgen kann ich leider nicht antworten, weil ich bei NI in Stuttgart bin. Nicht, dass Du/Ihr denk(s)t, mich würden die Antworten nicht interessieren. Gruß Markus ' schrieb:Den ganzen Aufwand, der Dir dann die Schwierigkeiten bringt, verstehe ich sowieso nicht: In String nach Bestandteil suchen - Y-P - 20.11.2006 15:59 Im VI Vergleich2 gehört nach "Spannung:2" auch ein "!" statt dem ";". Nichtsdestotrotz bleibt "Spannungsanstieg:9.9E+37" bei mir stehen, wenn ich aber das "+" rausnehme, also nur noch 9.9E37 dasteht, dann klappt es. Bei Dir auch? Gruß Markus ' schrieb:Ergänzung: In String nach Bestandteil suchen - Lucki - 20.11.2006 17:34 ' schrieb:Nichtsdestotrotz bleibt "Spannungsanstieg:9.9E+37" bei mir stehen, wenn ich aber das "+" rausnehme, also nur noch 9.9E37 dasteht, dann klappt es.Ja, jetzt sehe ich es bei mir auch, und die Erklärung habe ich auch gefunden: Der Muster-Eingang ist ein "Regulären Ausdruck" , und bestimmte Sonderzeichen darin zählen nicht als Text, sondern werden interpretiert, so wie "*.* oder "?" bei der Dateisuche in DOS. Das "+" (s. LabVIEW Hilfe) hat diese Bedeutung: + Kennzeichnet einen Teil des Musters, der ein- oder mehrmals im Eingang vorkommen kann. Zum Beispiel entspricht be+ be in bedeuten und bee in beenden. blau wird aber nicht als Treffer angegeben. Man muß es also anders machen und nicht mir dieser Funktion, vielleicht schicke ich Dir noch was. In String nach Bestandteil suchen - Lucki - 20.11.2006 19:59 Und hier ist es, das versprochene neue VI. Der Stringelemente-Vergleich wurde direkt mit dem "="-Vergleicher vorgenommen, da kann nichts mehr schiefgehen. In String nach Bestandteil suchen - Y-P - 20.11.2006 21:22 Sensationell! Sogar die Reihenfolge ist jetzt egal. :lol:Das muss ich mir am Mittwoch mal in Ruhe angucken. Dann kriege ich es wohl auch voll so hin, dass ich meine Matrix ansteuern kann, d.h. dass ich auch einen Ausgang für die Elemente, die davor da waren (aber im aktuellen Befehl nicht mehr) erstelle, so dass ich diese dann abschalten kann. Vielen Dank für die Mühe. Ich hatte auch schon fast vermutet, dass es wohl an so was liegt, bin dem aber nicht mehr näher nachgegangen, weil ich dachte, dass es bei Euch geht. Jetzt habe ich wieder mal was dazugelernt. Danke nochmal. Gruß Markus ' schrieb:Und hier ist es, das versprochene neue VI. Der Stringelemente-Vergleich wurde direkt mit dem "="-Vergleicher vorgenommen, da kann nichts mehr schiefgehen. In String nach Bestandteil suchen - Lucki - 21.11.2006 08:06 Nachdem ich den Vergleich4.vi gepostet hatte, fiel mir noch eine Verbesserung ein. Die innere For-Schleife ist überflüssig, unter den Array-Funktionen gibt es ja "1D-Array durchsuchen", die der Funktion "Regulären Ausdruck suchen" bei den Stringfunktionen ähnlich ist. Man vergisst eben leicht, daß Array-Elemente auch Strings sein können und daß damit alle Array-Funktionen auch für Strings bedeutungsvoll sein können. Mit dem Löschen von Befehlen, wenn sie im neuen Kommando nicht mehr vorkommen, meintest Du das so wie ich es im Vergleich5.vi versucht habe? In String nach Bestandteil suchen - Y-P - 21.11.2006 19:18 Perfekt! :lol:Wenn man ":" noch mit "!" ersetzt, dann läuft es einwandfrei. Vielen Dank! Gruß Markus ' schrieb:Nachdem ich den Vergleich4.vi gepostet hatte, fiel mir noch eine Verbesserung ein. Die innere For-Schleife ist überflüssig, unter den Array-Funktionen gibt es ja "1D-Array durchsuchen", die der Funktion "Regulären Ausdruck suchen" bei den Stringfunktionen ähnlich ist. Man vergisst eben leicht, daß Array-Elemente auch Strings sein können und daß damit alle Array-Funktionen auch für Strings bedeutungsvoll sein können. |