NEWS
[gelöst] Werte aus einem Textfeld in Liste übergeben
-
@mickym
ich kann zwar mit$match(/(?:\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z)/).match
Das Datum mit der Uhrzeit (z.b. 2024-01-13T23:00:00.000Z) extrahieren, aber wie mach ich es mit den Beträgen, also 69.56, 67.53 usw. ? Vor allem könnte das auch um eine stelle mehr haben bzw. ein minuszeichen davor.
-
@manfredhi sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:
/(?:\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z)
Warum nutzt Du eigentlich nicht diese Seite: https://regex101.com/ bzw. da es konstant ist das Forward Lookup brauchst du erstmal nicht,
Wie Du siehst bekommst Du ja Dein Datum richtig raus: https://regex101.com/r/6wBOu4/1
Ich weiss aber nicht warum Du da Datum brauchst? oder ob Du es brauchst? - Dein Wert steht doch in der class="data-view-detail-link">69.56< , warun checjst Du das Datum oder willst Du das haben? Oder Beides?
Ich gehe mal davon aus, Du willst beides.
-
@mickym
habs eh mit regex versucht.
mit dem($match(/(?:)?-?\d+\.\d+/).match)#$i[$i%2=1].$round(($number()/10),3)
bekomm ich die zahl nun raus.
eigentlich wollte ich in einer liste beides haben, erst das datum, dann den betrag. aber das geht glaub ich nicht.
-
@manfredhi Doch schau mal - ob Dir as gefällt?
-
@mickym sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:
Doch schau mal - ob Dir as gefällt?
ja und in der Liste möchte ich dann immer abwechselnd das datum und den betrag
also so soll das z.b. dann aussehen:
['2024-01-13T23:00:00.000Z',6.956,'2024-01-14T00:00:000Z',6.753, .......] -
@manfredhi Na also - also siehst Du regEx geht, aber ein Objekt wäre doch sicher sinnvoller - also wieder so ein Stringchaos.
Wäre das den nicht viel schöner:
: https://try.jsonata.org/bz5mJZ3T_
Warum löst ihr euch nicht von diesen blöden Strings?
[ { "date": "2024-01-13T23:00:00.000Z", "value": "69.56" }, { "date": "2024-01-14T00:00:00.000Z", "value": "67.53" }, { "date": "2024-01-14T01:00:00.000Z", "value": "66.78" }, { "date": "2024-01-14T02:00:00.000Z", "value": "66.32" }, { "date": "2024-01-14T03:00:00.000Z", "value": "66.54" } ]
-
@mickym sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:
Warum löst ihr euch nicht von diesen blöden Strings?
im Grunde würden ja auch nur die Werte genügen, ohne Datumszuordnung. Es sind jeden Tag 24. also von 0 Uhr bis 23 Uhr.
Probleme sehe ich nur bei Wechsel auf Sommerzeit da sinds plötzlich nur 23 Werte bzw. im Herbst dann mal 25 Werte und da wäre die Zuordnung ideal. -
@manfredhi Ja aber deswegen habe ich dir doch Objekte gemacht - wenn Du willst kannst ja dann schauen, ob Du nur die Werte oder das Objekt haben willst - aber warum willst Du weiter mit dem string Chaos weiterarbeiten?
Wenn du lieber Dein Stringchaos behalten möchtest, dann halt so: https://try.jsonata.org/g1gX0dk1Y
[ "2024-01-13T23:00:00.000Z", "69.56", "2024-01-14T00:00:00.000Z", "67.53", "2024-01-14T01:00:00.000Z", "66.78", "2024-01-14T02:00:00.000Z", "66.32", "2024-01-14T03:00:00.000Z", "66.54" ]
So wie Du es wünschst.
Oder so wenn Du ein Array mit Strings und in Zahl konvertierten Wert haben möchest:
: https://try.jsonata.org/5AZsbw1r9[ "2024-01-13T23:00:00.000Z,69.56", "2024-01-14T00:00:00.000Z,67.53", "2024-01-14T01:00:00.000Z,66.78", "2024-01-14T02:00:00.000Z,66.32", "2024-01-14T03:00:00.000Z,66.54" ]
oder wenn Du Strings so sehr liebst dann halt alles in einem String:
https://try.jsonata.org/RvEH4MzlH"2024-01-13T23:00:00.000Z,69.56,2024-01-14T00:00:00.000Z,67.53,2024-01-14T01:00:00.000Z,66.78,2024-01-14T02:00:00.000Z,66.32,2024-01-14T03:00:00.000Z,66.54"
Und wenn du halt unbedingt ein Array mit Deinem String haben willst dann machst halt um das Join noch eine eckige Klammer. Macht aber alles in meinen Augen keinen Sinn.
Nun hast Du alle möglichen Ausgaben - von Objekten oder diversen Strings.
-
@mickym sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:
Wäre das den nicht viel schöner:
: https://try.jsonata.org/bz5mJZ3T_meinst du ich soll es so machen ?
Wenn ja, wenn ich das in den jsonata eintrage, bekomme ich einen Fehler. -
@manfredhi Ich würde es mit Objekten machen - aber wenn Du nur die Werte haben willst. Ich hab doch keine Ahnung was Du willst. Ich habe Dir doch alle Möglichkeiten gezeigt - was willst Du denn machen - warum willst du überhaupt das Datum, wenn Du es nicht weiterverarbeitest?
-
@manfredhi sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:
@mickym sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:
Warum löst ihr euch nicht von diesen blöden Strings?
im Grunde würden ja auch nur die Werte genügen, ohne Datumszuordnung. Es sind jeden Tag 24. also von 0 Uhr bis 23 Uhr.
Probleme sehe ich nur bei Wechsel auf Sommerzeit da sinds plötzlich nur 23 Werte bzw. im Herbst dann mal 25 Werte und da wäre die Zuordnung ideal.Die Anzahl der Werte spielen doch für JSONATA oder regex keine Rolle. Wenn Du das Datum prüfen willst, dann würde ich die Objekte nehmen.
-
@mickym
du hast mir jetzt mal verschiedene wege aufgezeigt. vielen dank dafür.
derzeit lese ich die daten von epexspot aus, da hab ich auch nur die 24 Werte ohne Datum und die Aufbereitung eines Json mit Datum und diversen Berechnungen läuft derzeit eh einwandfrei.
Mit den Daten von jetzt will ich mir nur eine zweite Quelle für das Auslesen der Daten von einer anderen Homepage schaffen und vorbereiten, sollte das andere nicht funktionieren, und da ist halt jetzt auch das Datum mit dabei.
Danke jedenfalls mal dass Du so geduldig mit mir bist und soviel zeit dafür investierst.
Wenn ich mal wieder nicht weiter weiß, darf ich mich hoffentlich bitte wieder bei dir melden. -
@manfredhi Also hier hast Du alles mit Datum und Wert
Und das Blockly zum Import. Nach dem Objekt kannst Du über die Attribute auf das Datum mit dem zugehörigen Wert zugreifen.
Wenn Du die Werte ohne Datum willst - dann kannst Du das ganze ja mit oder ohne Datum machen.
Warum zum Schluss ein undefined rauskommt - weiß ich nicht. Das scheint wieder so ein Blockly Mist zu sein. Da muss ggf. @paul53 Aufschluss geben - Eigentlich enthält die Liste nur 5 Objekte. Warum die Schleife noch ein 6. Mal durchlaufen wird - ist mir wieder ein Rätsel - aber wie gesagt ich bin eh kein Puzzlefan.
-
@manfredhi sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:
@mickym
du hast mir jetzt mal verschiedene wege aufgezeigt. vielen dank dafür.
derzeit lese ich die daten von epexspot aus, da hab ich auch nur die 24 Werte ohne Datum und die Aufbereitung eines Json mit Datum und diversen Berechnungen läuft derzeit eh einwandfrei.
Mit den Daten von jetzt will ich mir nur eine zweite Quelle für das Auslesen der Daten von einer anderen Homepage schaffen und vorbereiten, sollte das andere nicht funktionieren, und da ist halt jetzt auch das Datum mit dabei.
Danke jedenfalls mal dass Du so geduldig mit mir bist und soviel zeit dafür investierst.
Wenn ich mal wieder nicht weiter weiß, darf ich mich hoffentlich bitte wieder bei dir melden.Wenn Du nur die Werte haben willst ohne das Datum dann halt einfach das regex anpassen
-
@mickym sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:
Warum zum Schluss ein undefined rauskommt - weiß ich nicht. Das scheint wieder so ein Blockly Mist zu sein. Da muss ggf. @paul53 Aufschluss geben - Eigentlich enthält die Liste nur 5 Objekte. Warum die Schleife noch ein 6. Mal durchlaufen wird - ist mir wieder ein Rätsel - aber wie gesagt ich bin eh kein Puzzlefan.
Danke. Ich mach das immer so, damit dieses undefined nicht kommt:
-
@mickym sagte in [gelöst] Werte aus einem Textfeld in Liste übergeben:
Wenn Du nur die Werte haben willst ohne das Datum dann halt einfach das regex anpassen
Vielen Dank. Hab mir jetzt mal alle möglichkeiten angelegt und nachgebaut. So dass mal jede Variante funktioniert. Für welche ich mich dann endgültig entscheide überlege ich noch.
Auf jeden Fall großes DANKE an dich.