30.10.2010, 09:51
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Woerter in String suchen
Meinst du so was hier:
Ansonsten poste mal komplette String-Beispiele, die du parsen willst, mit dem Ergebnis, was du gerne hättest.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
30.10.2010, 15:09
(Dieser Beitrag wurde zuletzt bearbeitet: 30.10.2010 15:12 von bluesaturn.)
|
bluesaturn
LVF-Gelegenheitsschreiber
Beiträge: 145
Registriert seit: Jan 2010
2009
2010
en
-
United Kingdom
|
Woerter in String suchen
Die Pumpe gibt immer an (wohl im Wechsel=
01:57.45 ul (Addresse:Volumen Unit)
01:2.3 seconds (Addresse:Zahl Unit)
Wenn sie aber wohl das Target volume erreicht hat, springt sie um auf:
01*57.45 ul oder
01*3.0 seconds.
Wenn die Pump addresse 0 ist, dann verschwindet die 01.
Im Moment habe ich Probleme mit dem Wechsel von : zu *. Ich habe es mit [*:] versucht, so dass Labview checkt, ob eines der Zeichen da ist, aber nein hat nicht geklappt.
Danke fürs Anschauen.
Viele Gruesse
B.
Edit: Jens, danke für dein Beispiel. Klappt das Beispiel von Gerd mit %s.;[:*]%f %s, das ist die Stelle wo der String gelesen wird. Da gibt es eben die Probleme. Bin wieder am anderen Rechner.
|
|
|
30.10.2010, 16:32
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Woerter in String suchen
' schrieb:Im Moment habe ich Probleme mit dem Wechsel von : zu *. Ich habe es mit [*:] versucht, so dass Labview checkt, ob eines der Zeichen da ist, aber nein hat nicht geklappt.
Wie in meinen Bsp, nur * solltest du nicht verwenden, * steht für "beliebig". Lieber die Escape-Sequenz, also *.
' schrieb:Edit: Jens, danke für dein Beispiel. Klappt das Beispiel von Gerd mit %s.;[:*]%f %s, das ist die Stelle wo der String gelesen wird. Da gibt es eben die Probleme. Bin wieder am anderen Rechner.
Probieren geht über studieren!
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
30.10.2010, 17:49
|
bluesaturn
LVF-Gelegenheitsschreiber
Beiträge: 145
Registriert seit: Jan 2010
2009
2010
en
-
United Kingdom
|
Woerter in String suchen
Vielen lieben Dank. Es scheint zu klappen. Gerät beschwert sich nicht
|
|
|
02.10.2011, 17:47
|
bluesaturn
LVF-Gelegenheitsschreiber
Beiträge: 145
Registriert seit: Jan 2010
2009
2010
en
-
United Kingdom
|
RE: Woerter in String suchen
Hallo LabView-Forum.
Ich wuerde gerne noch eine Sache zu diesen Strings fragen.
Mit der Match-Pattern.vi zerhacke ich einen String und diese regular expressions werden benutzt, um einen Hinweis zu haben, wo der String zerhackt werden soll.
Ich habe jetzt folgende Strings:
01:57.45 ul (Addresse:Volumen Unit)
01:2.3 seconds (Addresse:Zahl Unit)
01*57.45 ul
01*3.0 seconds
Neu ist nun hinzugekommen:
Fall a: 01:T*
bzw
Fall b: 01:T* 20 ul
Gerd hat mir ja schon gezeigt, wie ich 01: oder 01* mit der Match Pattern.vi abspalte.
Demzufolge bleibt im Fall a und b nur noch T* und T* 20ul uebrig.
Der uebriggebliebene Substring nach der Match Pattern.vi wird in eine Scan from String.vi eingefuettert. Als "format string" ist wird ebenfalls eingefuettert: %f %s. Wenn der String aber nun T* oder T* 20ul, entspricht das aber nicht mehr dem Format %f %s.
Wie koennte ich diesen Fall abfangen?
Ich dachte daran, eventuell jeden Substring zu testen, ob T* enthalten ist und falls ja, einen leeren String oder was anderes zurueckzugeben.
Ich sehe gerade nur nicht, wie man einen String darauf testen kann, ob T* (genau diese beiden Charaktere) in einem String enthalten sind und wie man dann ein True/False zurueckbekommt.
Vielen Dank.
Blue
|
|
|
02.10.2011, 17:58
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Woerter in String suchen
Hallo blue,
Zitat:Ich sehe gerade nur nicht, wie man einen String darauf testen kann, ob T* (genau diese beiden Charaktere) in einem String enthalten sind und wie man dann ein True/False zurueckbekommt.
Wirklich nicht?
Vielleicht hilft dir das hier auf die Sprünge:
|
|
|
02.10.2011, 21:29
|
bluesaturn
LVF-Gelegenheitsschreiber
Beiträge: 145
Registriert seit: Jan 2010
2009
2010
en
-
United Kingdom
|
RE: Woerter in String suchen
Hallo Gerd.
Du hast recht. Ich war zu doof. Eben noch einmal die Hilfe von MatchPattern.vi angeschaut und dann bin ich ueber dieses offset past match gestolpert. Entschuldigung.
Gut, das verstehe ich soweit, glaube ich jedenfalls.
Du hast mir damals das Beispiel fuer die regular expression wie folgt genannt:
[:|\*]
Ich verstehe den | als oder. Ist das bitte korrekt?
Wie kann man sonst bitte auf drei Zeichen(ketten) suchen, also :, \*, und als Kombi T* (=eine Kombi, die von * only unterscheidbar)?
Vielen Dank.
Blue
|
|
|
03.10.2011, 16:49
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Woerter in String suchen
Hallo blue,
noch eine Idee:
|
|
|
| |