NEWS
Parser auslesen von XML - Vorzeichen fehlt
-
Hallo,
ich hab eine Problem mit dem Vorzeichen.
Der Wert wechselt vom Negativen ins Positive.
Leider wird das Vorzeichen "-" vom negative Wert nicht mitgenommen.REGEX:
[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)TEXT:
{"method":"uploadsn","version":"Solax_SI_CH_2nd_20170627_DE01","type":"AL_SE","SN":"EF90923C","Data":[0.7,0.6,302.8,301.2,1.7,236.6,363,38,2.5,18617.3,-38,211,180,49.96,0.62,30,21,20,0.0,4142.5,,,,,,,,,,,,,,,,,,,,,,7774.40,16977.50,,,,,,,,50.00,,,0.0,0.0,0,0.00,0,0,0,0.00,0,8,0,0,0.00,0,8],"Status":"2"}Ergebnis:
38 (müsste -38 sein)
-
Hallo,
ich hab eine Problem mit dem Vorzeichen.
Der Wert wechselt vom Negativen ins Positive.
Leider wird das Vorzeichen "-" vom negative Wert nicht mitgenommen.REGEX:
[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)TEXT:
{"method":"uploadsn","version":"Solax_SI_CH_2nd_20170627_DE01","type":"AL_SE","SN":"EF90923C","Data":[0.7,0.6,302.8,301.2,1.7,236.6,363,38,2.5,18617.3,-38,211,180,49.96,0.62,30,21,20,0.0,4142.5,,,,,,,,,,,,,,,,,,,,,,7774.40,16977.50,,,,,,,,50.00,,,0.0,0.0,0,0.00,0,0,0,0.00,0,8,0,0,0.00,0,8],"Status":"2"}Ergebnis:
38 (müsste -38 sein)
@skorpion_inka
Das + Zeichen hat ja eine besondere Bedeutung falls Du also das Vorzeichen mit + bzw. - als Auswahl gibst musst Du das + zumindest mit einem Backslsh maskieren.Ich würde für die Zahlen folgenden Ausdruck verwenden:
-?\d+\.?\d*

-
Hallo,
ich hab eine Problem mit dem Vorzeichen.
Der Wert wechselt vom Negativen ins Positive.
Leider wird das Vorzeichen "-" vom negative Wert nicht mitgenommen.REGEX:
[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)TEXT:
{"method":"uploadsn","version":"Solax_SI_CH_2nd_20170627_DE01","type":"AL_SE","SN":"EF90923C","Data":[0.7,0.6,302.8,301.2,1.7,236.6,363,38,2.5,18617.3,-38,211,180,49.96,0.62,30,21,20,0.0,4142.5,,,,,,,,,,,,,,,,,,,,,,7774.40,16977.50,,,,,,,,50.00,,,0.0,0.0,0,0.00,0,0,0,0.00,0,8,0,0,0.00,0,8],"Status":"2"}Ergebnis:
38 (müsste -38 sein)
@skorpion_inka sagte in Parser auslesen von XML - Vorzeichen fehlt:
Ergebnis:
38 (müsste -38 sein)ich hab keine Ahnung was dein regEx bezwecken soll?
du willst nur diese eine Zahl haben?
gehst du da über NUM 14?oder brauchst du den RegEx für verschiedenes und änderst dann nur den NUM?
nimm mal
([\d\.\-]+)und auch num 14Sag mir mal ob du mit
\[([^\,]+\,){11}etwas brauchbares bekommst -
Hallo,
ich hab eine Problem mit dem Vorzeichen.
Der Wert wechselt vom Negativen ins Positive.
Leider wird das Vorzeichen "-" vom negative Wert nicht mitgenommen.REGEX:
[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)TEXT:
{"method":"uploadsn","version":"Solax_SI_CH_2nd_20170627_DE01","type":"AL_SE","SN":"EF90923C","Data":[0.7,0.6,302.8,301.2,1.7,236.6,363,38,2.5,18617.3,-38,211,180,49.96,0.62,30,21,20,0.0,4142.5,,,,,,,,,,,,,,,,,,,,,,7774.40,16977.50,,,,,,,,50.00,,,0.0,0.0,0,0.00,0,0,0,0.00,0,8,0,0,0.00,0,8],"Status":"2"}Ergebnis:
38 (müsste -38 sein)
Für mich sieht das aberauch wieder so aus, als ob Du mit dem Parser einen JSON String auseinander reißt. Das würde ich grundsätzlich nicht machen.
Hier Shelly mit Parser auslesen ist auch so ein Kandidat und den konnte man immerhin überzeugen. ;)
-
Für mich sieht das aberauch wieder so aus, als ob Du mit dem Parser einen JSON String auseinander reißt. Das würde ich grundsätzlich nicht machen.
Hier Shelly mit Parser auslesen ist auch so ein Kandidat und den konnte man immerhin überzeugen. ;)
@mickym sagte in Parser auslesen von XML - Vorzeichen fehlt:
Für mich sieht das aberauch wieder so aus, als ob Du mit dem Parser einen JSON String auseinander reißt. Das würde ich grundsätzlich nicht machen.
das Thema wollte ich diesmal nicht anfangen ;-)
Es ist ja XML und nicht JSON -
@mickym sagte in Parser auslesen von XML - Vorzeichen fehlt:
Für mich sieht das aberauch wieder so aus, als ob Du mit dem Parser einen JSON String auseinander reißt. Das würde ich grundsätzlich nicht machen.
das Thema wollte ich diesmal nicht anfangen ;-)
Es ist ja XML und nicht JSON@homoran sagte in Parser auslesen von XML - Vorzeichen fehlt:
@mickym sagte in Parser auslesen von XML - Vorzeichen fehlt:
Für mich sieht das aberauch wieder so aus, als ob Du mit dem Parser einen JSON String auseinander reißt. Das würde ich grundsätzlich nicht machen.
das Thema wollte ich diesmal nicht anfangen ;-)
Es ist ja XML und nicht JSONDas ist JSON
{"method":"uploadsn","version":"Solax_SI_CH_2nd_20170627_DE01","type":"AL_SE","SN":"EF90923C","Data":[0.7,0.6,302.8,301.2,1.7,236.6,363,38,2.5,18617.3,-38,211,180,49.96,0.62,30,21,20,0.0,4142.5,,,,,,,,,,,,,,,,,,,,,,7774.40,16977.50,,,,,,,,50.00,,,0.0,0.0,0,0.00,0,0,0,0.00,0,8,0,0,0.00,0,8],"Status":"2"} -
@homoran sagte in Parser auslesen von XML - Vorzeichen fehlt:
@mickym sagte in Parser auslesen von XML - Vorzeichen fehlt:
Für mich sieht das aberauch wieder so aus, als ob Du mit dem Parser einen JSON String auseinander reißt. Das würde ich grundsätzlich nicht machen.
das Thema wollte ich diesmal nicht anfangen ;-)
Es ist ja XML und nicht JSONDas ist JSON
{"method":"uploadsn","version":"Solax_SI_CH_2nd_20170627_DE01","type":"AL_SE","SN":"EF90923C","Data":[0.7,0.6,302.8,301.2,1.7,236.6,363,38,2.5,18617.3,-38,211,180,49.96,0.62,30,21,20,0.0,4142.5,,,,,,,,,,,,,,,,,,,,,,7774.40,16977.50,,,,,,,,50.00,,,0.0,0.0,0,0.00,0,0,0,0.00,0,8,0,0,0.00,0,8],"Status":"2"}@mickym sagte in Parser auslesen von XML - Vorzeichen fehlt:
Das ist JSON
steht aber so nicht in dem Threadtitel.
"Data" ist dann ein array in dem man das elfte Element [10] benötigtEDIT:
danke für den Schubs mit der elf
und wenn es mit dem Parser und\[([^\,]+\,){11}klappt ist das ja auch nicht wild -
@mickym sagte in Parser auslesen von XML - Vorzeichen fehlt:
Das ist JSON
steht aber so nicht in dem Threadtitel.
"Data" ist dann ein array in dem man das elfte Element [10] benötigtEDIT:
danke für den Schubs mit der elf
und wenn es mit dem Parser und\[([^\,]+\,){11}klappt ist das ja auch nicht wild@homoran Mit meinem RegEx matched Du aber die Zahlen direkt? Ich dachte, dass der Threadersteller nur Probleme mit dem Vorzeichen hatte und nicht eine bestimmte Zahl brauchte. Aber egal - er kann es sich ja nun raussuchen:
- JSON richtig analysieren
- Mit RegEx alle Zahlen aussortieren, wobei er über $match ja alle Zahlen in ein Array bekommt und über den Index auch direkt auf das 11. Element zugreifen kann bzw. 15. Element zugreifen

- Deine Lösung
-
@homoran Mit meinem RegEx matched Du aber die Zahlen direkt? Ich dachte, dass der Threadersteller nur Probleme mit dem Vorzeichen hatte und nicht eine bestimmte Zahl brauchte. Aber egal - er kann es sich ja nun raussuchen:
- JSON richtig analysieren
- Mit RegEx alle Zahlen aussortieren, wobei er über $match ja alle Zahlen in ein Array bekommt und über den Index auch direkt auf das 11. Element zugreifen kann bzw. 15. Element zugreifen

- Deine Lösung
@mickym sagte in Parser auslesen von XML - Vorzeichen fehlt:
er kann es sich ja nun raussuchen:
der Möglichkeiten sind es viele, allein die Wahl ist schwer
-
@skorpion_inka
Das + Zeichen hat ja eine besondere Bedeutung falls Du also das Vorzeichen mit + bzw. - als Auswahl gibst musst Du das + zumindest mit einem Backslsh maskieren.Ich würde für die Zahlen folgenden Ausdruck verwenden:
-?\d+\.?\d*

Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden