[GELÖST] Userreading mit Regex

Begonnen von Byllyy, 15 Februar 2023, 17:00:30

Vorheriges Thema - Nächstes Thema

Byllyy

Hallo zusammen,
ich habe ein Gerät dem Reading statAenergy_total mit der Ausgabe Hour: 39.258 Day: 3937.463 Month: 3937.463 Year: 3937.463 (since: 2023-02-15 )
Nun brauche ich ein Userreading mit den Werten hinter Day ohne Kommastellen. (also 3937)

Ich habe versucht aus verschiedenen Threads ein Hilfe zu bekommen doch meine Versuche sind gescheitert.
Könnt Ihr mir bitte helfen die richtige Regex für dieses Problem zu finden?

Vielen Dank,
Byllyy

Otto123

Hi,

ohne regExp  :)
So als Test für die Kommandozeile, das Prinzip sollte erkennbar sein
{my $val = 'Hour: 39.258 Day: 3937.463 Month: 3937.463 Year: 3937.463 (since: 2023-02-15 )';; my @arr = split ' ',$val;; int $arr[3]}


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

DeeSPe

Zitat von: Otto123 am 15 Februar 2023, 17:16:03
{my $val = 'Hour: 39.258 Day: 3937.463 Month: 3937.463 Year: 3937.463 (since: 2023-02-15 )';; my @arr = split ' ',$val;; int $arr[3]}

Das geht auch ohne die Variablenzuweisung:
{(split ' ','Hour: 39.258 Day: 3937.463 Month: 3937.463 Year: 3937.463 (since: 2023-02-15 )')[3]}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Icinger

Öhm, das ist doch ein reading vom statistics-Modul.
Warum nutzt du nicht einfach das "singularReading"-Attribut dort, dann brauchst du nicht extra mit Userreadings und Regexes rumdoktern :)
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

betateilchen

Zitat von: Icinger am 15 Februar 2023, 17:33:14
Warum nutzt du nicht

ist doch völlig egal, warum - wann nach einer regex gefragt wird, kann man doch auch mit einer regex antworten, anstatt mit unzähligen Belehrungen...

Zitat von: Byllyy am 15 Februar 2023, 17:00:30
Nun brauche ich ein Userreading mit den Werten hinter Day ohne Kommastellen. (also 3937)
..
Könnt Ihr mir bitte helfen die richtige Regex für dieses Problem zu finden?

Nichts einfacher als das...

/Day..(\d+)/
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Byllyy

Vielen Dank für eure schnelle und gute Hilfe.
Ich habe es jetzt mit singularReading aus dem Statitics-Modul gelöst und wieder etwas dazu gelernt.

Danke und liebe Grüße,
Byllyy