LabVIEWForum.de - Format String um String aufzuteilen

LabVIEWForum.de

Normale Version: Format String um String aufzuteilen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

ich versuche mich derzeit auch mit LabView.
Ich habe eine automatisch generierte html Datei, in der ich ein paar Werte ändern möchte.
Aus der Datei bekomme ich u.a. das hier (einzeilig):
Code:
<td>1.0</td><td>1.0</td></tr><tr><td><b>Name / Department</b></td><td></td><td></td></tr><tr><td><b>Signature</b></td><td></td><td></td></tr><tr><td><b>Date</b></td><td></td><td></td>

Mit dem VI In String suchen möchte ich nun die Tabellen auslesen, den Wert anzeigen und ggf. ändern.
Dazu habe ich als Format-String folgendes angegeben:
Code:
<td>%s</td><td>%s</td></tr><tr><td><b>Name / Department</b></td><td>%s</td><td>%s</td></tr><tr><td><b>Signature</b></td>%s<td></td><td>%s</td></tr><tr><td><b>Date</b></td><td>%s</td><td>%s</td>

Das sieht so aus:
[attachment=59574]

Allerdings kommt dann diese Fehlermeldung:
[attachment=59575]

Die Formatbezeichner habe ich bisher noch nicht so ganz durchschaut.
Kann mir einer sagen der Format-String aussehen muss, um die Werte zwischen <td> und </td> auslesen zu können? Die Werte können auch leer sein.
Kann es sein, dass das erste %s den String bis zum nächsten Leerzeichen liest und nicht bis zum nächsten </td>?

Danke schonmal für die Hilfe
Hallo Abrow,

herzlich willkommen im Forum!

Das Problem ist: "%s" nimmt alles bis zum nächsten Whitespace!
Du erwartest: "<td>1.0</td>" mit "<td>%s</td>" durchsuchen ergibt "1.0".
Du bekommst: "<td>1.0</td>" mit "<td>%s</td>" durchsuchen ergibt "1.0</td>".

Tipp1: vorher den String in ein Array aus Tabellenelemente "<td>xyz</td>" zerlegen, dann jedes Element einzeln auswerten…
Tipp2: falls die Stringlänge der Daten in den Tabellenelementen bekannt und fest ist, könntest du noch "%3s" (z.B. für "1.0") verwenden…
So ginge es aber auch:
[attachment=59579]
Perfekt, vielen Dank. So funktioniert es. Smile
Aus Interesse trotzdem die Frage: Gibt es einen Formatbezeichner, mit dem ich den Wert zwischen <td> und </td> mit unbekannter Länge auslesen kann?
Hallo Abrow,

nein.
Dafür musst du in der einen oder anderen Weise RegEx-Ausdrücke verwenden. (MatchPattern macht das letztendlich auch…)
Äm ... ich denke das nein reicht mir vorerst als Antwort Big Grin
Da kann ich natürlich lange probieren.
Danke euch, Leute
Es gibt unter DateiIO/XML den "XML-Parser". Davon habe ich eigentlich keine Ahnung, womöglich liege ich jetzt völlig falsch, bitte korrigiert mich dann. Aber vielleicht kann man den auch dazu verwenden, aus einer HTML-Datei bestimmte Informationen herauszuziehen.
Referenz-URLs