Autor Thema: [geklärt] ersetzen von mehreren " in einem Reading  (Gelesen 1009 mal)

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3652
  • ... wer sät, der erntet ...
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
« Letzte Änderung: 08 August 2021, 18:59:52 von TomLee »

Offline frober

  • Moderator
  • Sr. Member
  • ***
  • Beiträge: 905
  • Was man nicht kann, kann man lernen...
Antw:ersetzen von " in einem Reading
« Antwort #1 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
« Letzte Änderung: 08 August 2021, 17:46:38 von frober »
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3652
  • ... wer sät, der erntet ...
Antw:ersetzen von " in einem Reading
« Antwort #2 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

Offline frober

  • Moderator
  • Sr. Member
  • ***
  • Beiträge: 905
  • Was man nicht kann, kann man lernen...
Antw:ersetzen von " in einem Reading
« Antwort #3 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. ;)
Raspi 3b mit Raspbian Stretch und relativ aktuellem Fhem,  FS20, LGW, PCA301, MySensors mit RS485(CAN-Receiver), etc.,
einiges umgesetzt, vieles in Planung :-)

********************************************
...man wächst mit der Herausforderung...

 

decade-submarginal