FHEM Forum

FHEM => Automatisierung => Perl für FHEM-User => Thema gestartet von: TomLee am 08 August 2021, 17:33:09

Titel: [geklärt] ersetzen von mehreren " in einem Reading
Beitrag von: TomLee am 08 August 2021, 17:33:09
Hallo,

in dem Reading external_name eines Callmonitor-Device werden mir doppelte Quotes als HTML angezeigt:

setstate cm_bla 2021-08-08 17:11:14 external_name bla ";bla1 bla2";
Aus der Kommandozeile ergibt :
{my $extn = ReadingsVal('cm_bla','external_name','unknown');;$extn}
bla  "bla1 bla2"

{my $extn = ReadingsVal('cm_bla','external_name','unknown');; $extn =~ s/&quot\;;//;;$extn}
bla bla1 bla2"

Warum wird nicht das letzte " ersetzt ?
Weil es direkt an bla2 hängt ? Wie muss ich das ersetzen dann anpassen?

Gruß

Thomas
Titel: Antw:ersetzen von " in einem Reading
Beitrag von: frober am 08 August 2021, 17:43:34
Das ist Standard beim regex, du musst ein 'g' anfügen, damit alle Matches ausgewertet werden.
$extn =~ s/&quot\;;//g
Titel: Antw:ersetzen von " in einem Reading
Beitrag von: TomLee am 08 August 2021, 17:51:59
Ah ja, jetzt vergess ichs nicht mehr, Danke.

So klappts jetzt, nicht so wie vorgeschlagen:


Kommandozeile:
{my $extn = ReadingsVal('cm_bla','external_name','unknown');; $extn =~ s/&quot\;;//g;;$extn}

bla bla1 bla2
Titel: Antw:ersetzen von " in einem Reading
Beitrag von: frober am 08 August 2021, 17:54:32
Ah ja, jetzt vergess ichs nicht mehr, Danke.

So klappts jetzt, nicht so wie vorgeschlagen:

{my $extn = ReadingsVal('cm_bla','external_name','unknown');; $extn =~ s/&quot\;;//g;;$extn}

bla bla1 bla2

Ich hatte meinen Fehler selbst bemerkt und nochmals korrigiert. Hast du wahrscheinlich nicht mehr gesehen...
Aber wenn es nun passt. ;)