INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

String (XML) zerlegen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

14.05.2013, 09:11 (Dieser Beitrag wurde zuletzt bearbeitet: 14.05.2013 09:15 von TSC.)
Beitrag #1

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
String (XML) zerlegen
Moin moin,

ich verwende die Funktion "In String suchen" um aus einem String einige Daten zu extrahieren.

String:
p0="false" p1="33.3"
FormatString:
p0="%s" p1="%.;%f"
Gewünschte Daten:
BOOLEAN p0=false
DOUBLE p1=33,3

Leider liest LabVIEW das Anführungszeichen hinter %s mit ein und ich erhalte:
BOOLEAN p0=false"
Danach passt der Rest natürlich nicht mehr und ein DOUBLE-Wert wird nicht gefunden. Wenn ich aus dem FormatString das Anführungszeichen entferne klappt es, allerdings ist das Anführungszeichen dann im Ergebnis vorhanden.

String:
p0="false" p1="33.3"
FormatString:
p0="%s p1="%.;%f"
Daten:
BOOLEAN p0=false"
DOUBLE p1=33,3

Kann mir jemand einen Tipp geben? Die Alternative mit "Muster Suchen/Match Pattern" ist unschön, da im String zu viele Daten liegen!

Kleines Beispiel (sind natürlich viel mehr Daten im echten Projekt):

11.0 .vi  ExtractData.vi (Größe: 6,95 KB / Downloads: 213)


Danke und Grüße,
Totti

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.05.2013, 09:30 (Dieser Beitrag wurde zuletzt bearbeitet: 14.05.2013 09:32 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: String (XML) zerlegen
Hallo Totti,

so geht's:
   

Du musst bedenken:
-"%s" kann bei "false" nur den String false" (mit Anführungszeichen) liefern (Strings werden an Whitespaces getrennt!) und ScanFromString meldet dann einen Fehler aufgrund des dann fehlenden Anführungszeichens im Suchstring...
- Ich bin mir grade nicht sicher, ob "false" (ohne Anführungszeichen) als boolscher Wert erkannt wird. Auf jeden Fall müsstest du aber als Formatcode das %b verwenden und eine boolsche Konstante als Default für ScanFromString vorgeben. Die Kontexthilfe jedenfalls zeigt diese Möglichkeit nicht auf...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2013, 09:45
Beitrag #3

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
RE: String (XML) zerlegen
Heißt also, wenn mein String keine Leerzeichen enthält, habe ich keine Chance?
Es gibt beim %s noch das Argument der Länge (%ns, liest n Zeichen), aber bei TRUE und FALSE ist das eben auch doof.

Hatte schon überlegt, im String einfach TRUE durch 1 und FALSE durch 0 zu ersetzen. Aber was mache ich, wenn ein Argument dann TRUEmmerhaufen heißt? Dann passt mein Formatstring wieder nicht. Werde als das Anführungszeichen mit lesen.

Danke für die Hilfe,
Totti

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2013, 09:48
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: String (XML) zerlegen
Hallo Totti,

dann ersetze doch "true" durch 1 und "false" durch 0: bei den Strings jeweils mit Anführungszeichen, die Zahlen ohne.
Jetzt hast du nur Probleme, wenn du gemischt Lower/UpperCase-Strings bekommst...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2013, 09:53
Beitrag #5

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
RE: String (XML) zerlegen
Gute Idee! Meine man könnte beim Suchen und ersetzen auch "case-sensitive" deaktivieren! Schaue ich mir mal an! Danke!

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2013, 10:36 (Dieser Beitrag wurde zuletzt bearbeitet: 14.05.2013 10:54 von Lucki.)
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: String (XML) zerlegen
Das Problem ist doch, dass die Strings "true" und "false" unterschiedlich lang sind. Aber nicht für jemanden, der auch vor Brutalitäten (sprich: Fehlerbehandlungen) nicht zurückschreckt:
   
Oder ohne lokale Variablen:
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.05.2013, 12:43
Beitrag #7

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
RE: String (XML) zerlegen
:-) Auch nett! Habe mich aber dazu entschieden, sowohl FormatString als auch InputString zu manipulieren. Aus "fAlSe" wird "0" und aus "TrUe" wird "1"!

   

Als nächstes versuche ich mich mal an einer echten XML-Interpretation!

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2013, 13:18 (Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2015 10:36 von Lucki.)
Beitrag #8

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: String (XML) zerlegen
(14.05.2013 12:43 )TSchAC schrieb:  sowohl FormatString als auch InputString zu manipulieren. Aus "fAlSe" wird "0" und aus "TrUe" wird "1"!
Das ist allerdings so einfach, dass man annehmen musste, du wärest da von Anfang von selbst darauf gekommen und hast die Frage nur gestellt, weil eben diese Änderung des Eingangsstrings nicht in Deinem Ermessen steht. Deshalb hatte ich von Gerd die "richtige" Antwort in dieser Richtung auch nicht ernst genommen. Aber mit dem menschlichen Gehirn ist es eben so eine Sache, keiner weiß richtig wie es in einem anderen tickt..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2013, 14:09
Beitrag #9

TSC Offline
LVF-Team
LVF-Team

Beiträge: 1.882
Registriert seit: Sep 2008

LV 2018 SP1
2008
EN

52379
Deutschland
RE: String (XML) zerlegen
Hatte gehofft, dass man sowas wie %/";s angeben kann! Quasi einen String der nicht mit Leerzeichen sondern vorm nächsten Anführungszeichen endet!
Und ich hatte den Knoten im Kopf, dass ich den FormatString nicht manipulieren kann! Daher die bedenken, dass das Ganze schief geht, wenn ich unbeabsichtigt einen "Truemmerhaufen" in ein "1mmerhaufen" verwandel!

Die ErrorMethode ist übrigens auch nicht mehr sooo schön, wenn der Eingangsstring länger wird!

Nungut, ich übe mal XML! Da ist LabVIEW ja auch irgendwie eigen, bzw. meine Wünsche und Vorstellungen sind anders als LabVIEW.

"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2013, 14:22
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: String (XML) zerlegen
LabVIEW hat doch inzwischen einen vollständigen XML-Parser an Bord:
   
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Variant in Grundtypen zerlegen LV-New 6 4.491 10.01.2022 10:55
Letzter Beitrag: LV-New
  2D Array zerlegen che-salih 37 24.050 29.10.2013 18:32
Letzter Beitrag: Y-P
  String zerlegen --> in Array lambda89 5 10.370 02.07.2013 13:58
Letzter Beitrag: Lucki
  String Zerlegen indem man MSB in einem Byte erkennt labuser2010 11 11.096 01.07.2010 09:08
Letzter Beitrag: GerdW
  Zerlegen eines Strings in einzelne Character FuxDancer 29 24.798 03.01.2010 16:08
Letzter Beitrag: FuxDancer
  string zerlegen funk 22 22.316 28.08.2009 11:00
Letzter Beitrag: funk

Gehe zu: