Hallo Leute,
nach einiger Zeit beschäftige ich mich mal wieder ein bisschen mit meinem NodeMCU und ich steh mal wieder auf dem Schlauch.
Ich bekomme über MQTT eine längere Zeichenkette geschickt, die nicht immer den exakt gleichen Inhalt hat.
Hier ein Beispiel:
<scheduletableentry scid="FP_01" inithour="8" bkid="bk4" timeprocessing="2" maxdelay="60" timeframe="1" fromhour="0" tohour="23" hour="8" minute="20" starthour="8" startminute="10" via="über" remark="ziel" trainid="RE4" platform="4a" from="bk8" lcid="Taurus" lcbkid="bk9"/>
Nun möchte ich überprüfen ob z.B. folgende Wörter vorkommen und diese dann auslesen:
via="über"
hour="8"
was sich ändert ist der Inhalt zwischen den " "
Anscheinend sehe ich gerade den Wald vor lauter Bäumen nicht und bitte euch um Hilfe.
Probiert habe ich z.B.
int Suche = messageTemp.indexOf("via");
Serial.print("Position via: ");
Serial.println(Suche);
Serial.print("String von via bis zum Ende: ");
Serial.println(messageTemp.substring(Suche, messageTemp.length()));
da bekomme ich aber ja alles was ab via kommt gefiltert
Position via: 230
String von via bis zum Ende: via="über" remark="ziel" trainid="RE4" platform="4a" from="bk8" lcid="Taurus" lcbkid="bk9"/>
<scheduletableentry scid="FP_01_copy" inithour="8" bkid="bk5" timeprocessing="2" maxdelay="60" timeframe="1" fromhour="0" tohour="23" hour="8" minute="25" starthour="8" startminute="15" via="Ziel3, ueber3" remark="" trainid="RE4" platform="5a" from="bk8"/>
<scheduletableentry scid="FP_01" inithour="9" bkid="bk4" timeprocessing="2" maxdelay="60" timeframe="1" fromhour="0" tohour="23" hour="9" minute="20" starthour="9" startminute="10" via="über" remark="ziel" trainid="RE4" platform="4a" from="bk8" delay="0" lcid="" lcbkid=""/>
<scheduletableentry scid="FP_01_copy" inithour="9" bkid="bk5" timeprocessing="2" maxdelay="60" timeframe="1" fromhour="0" tohour="23" hour="9" minute="25" starthour="9" startminute="15" via="Ziel3, ueber3" remark="" trainid="RE4" platform="5a" from="bk8" delay="0" lcid="" lcbkid=""/>
</scheduletable>
haben möchte ich ja aber nur den Text innerhalb von " " nach via, also in diesem Fall den Text über der aber verschiedene Längen haben kann.
Vielen Dank schonmal
Torsten
Edit:
Hier der gesamte gesendete Text:
<scheduletable id="NEW2" hour="8" minute="13">
<scheduletableentry scid="FP_01" inithour="8" bkid="bk4" timeprocessing="2" maxdelay="60" timeframe="1" fromhour="0" tohour="23" hour="8" minute="20" starthour="8" startminute="10" via="über" remark="ziel" trainid="RE4" platform="4a" from="bk8" lcid="Taurus" lcbkid="bk9"/>