NEWS
teile eines Strings löschen
-
Hallo habe einen Freund der folgendes Problem hat:
holt sich aus derCCU3 servicemeldungen ab, funktioniert!
nur steht dann in der variable vom iobrokerNEUE Servicemeldung%0D%0ABewegung_Og : %0D%0ASabotage %0D%0A1 mal seit: 03.12.23 19:42 ( zuletzt: 03.12.23 19:42)%0D%0A%0D% in der CCU sichtbar
NEUE Servicemeldung Bewegung_Og : Sabotage mal seit: 03.12.23 19:42 ( zuletzt: 03.12.23
suche vergeblich in Blockly suchen und löschen in txt ??
Mit freundlichen Grüßen
mikewolf -
-
@homoran
sorry stehe etwas aus dem Schlauch , schaffe es nicht ohne lauter rote Fehlermeldungen, und
teamvieler ist heute mehr als träge ...
lg
Mikewolf -
@mikewolf dann zeig mal was du hast
-
@homoran
leider nix mehr Teamviewer hat verbindung unterbrochen , und komm nicht mehr drauf
da Teamviewer meint gewerbliche Nutzung grrrr -
@mikewolf sagte in teile eines Strings löschen:
Teamviewer meint gewerbliche Nutzung grrrr
Das ist doch schon lange so.
Warum nimmst du nicht anydesk.Obwohl die nun auch anfangen mit diesem Thema.
-
@mikewolf dann fütter mich mal mit brauchbaren Informationen.
Hab deinen Startpost schon versucht zu formatieren, werde trotzdem nicht draus schlau.
im Moment kommt dabei nur Blödsinn raus
Was genau steht im DP und was soll gekürzt rauskommen?
-
@homoran
genau das ist auch mein Problem das nur schrott rauskommt,
ich möchte nur %0D%0A aus dem Datenpunkt suchen , und löschen
und in nen anderen DAtenpunkt schreiben ohne %0D%0A .
problem ist das je nach meldung dies wo anders steht ,einmal an stelle 15 dann 10 .mg
mikewolf -
@mikewolf sagte in teile eines Strings löschen:
problem ist das je nach meldung dies wo anders steht ,einmal an stelle 15 dann 10 .
das ist kein Problem!
Das Problem ist, dass ich nicht weiß
@homoran sagte in teile eines Strings löschen:
Was genau steht im DP
@homoran sagte in teile eines Strings löschen:
was soll gekürzt rauskommen?
und jetzt noch
@mikewolf sagte in teile eines Strings löschen:
das je nach meldung dies wo anders steht
ist dies immer das selbe?
Bitte exakte Angaben!
-
@homoran
im datenpunkt stehtNEUE Servicemeldung%0D%0ABewegung_Og : %0D%0ASabotage %0D%0A1 mal seit: 03.12.23 19:42 ( zuletzt: 03.12.23 19:42)%0D%0A%0D%
oder
NEUE Servicemeldung%0D%0AWC_EG : %0D%0ABatterie leer %0D%0A1 mal seit: 01.12.23 14:12 ( zuletzt: 03.12.23 20:42)%0D%0A%0D%
in neuen Datenpunkt sollte es so aussehen
NEUE Servicemeldung Bewegung_Og : Sabotage mal seit: 03.12.23 19:42 ( zuletzt: 03.12.23 19:42)
ich möchte eigentlich nur aus dem string %0D%0A löschen
Mit freundlichen Grüßen mikewolfMOD-EDIT: Code in code-tags gesetzt!
-
z.B. mit dem Befehl: replace
Auszug aus meinem Script:
var vText = getState('hm-rega.0.26463').val; vText = vText.replace(/%0A/g, '<br>'); vText = vText.replace(/zur Zeit /g, ''); vText = vText.replace(/ : /g, ' --> '); vText = vText.replace(/hat Kommunikationsfehler/g, 'Kommunikation'); vText = vText.replace(/NEUE SERVICEMELDUNG<br>/g, ''); vText = vText.replace(/NEUE Servicemeldung<br>/g, ''); vText = vText.replace(/ALTE Servicemeldung<br>/g, '');
Musste halt nur anpassen.
-
@mikewolf so mal der Test:
und so könnte das Blockly aussehen:
-
@mikewolf Hallo, schaumal hier.
Beliebige Zeichen tauschenGrüße
-
@djmarc75 sagte in teile eines Strings löschen:
@mikewolf so mal der Test:
Das erinnert mich daran, dass ich endlich mal ein "replace" Blockly-Baustein bauen wollte...
-
@bahnuhr sagte: Befehl: replace
In Blockly: JS-Funktion mit Ergebnis delNL(text):
return text.replace(/%0D%0A/g, ' ');
-
JSONATA hat auch eine replace Funktion. Also ziemlich einfach:
$replace($,"%0D%0A","")
Man muss ggf. alle Zeichen einzeln entfernen - da unten ein %D übrig bleibt.
In diesem Fall kann man mit regulären Ausdrücken arbeiten. Das letzte % Zeichen kannst herkömmlich entfernen.
$replace($,/%0[D,A]/," ")
-
kaum hat man mal was anderes zu tun, erledigt sich hier alles von selbst
Das nenn ich Community!
Dann kann ich mich ja zur Ruhe setzen
-
Um das letzte % Zeichen auch noch zu entfernen kannst Du den regulären Ausdruck wie folgt erweitern.
$replace($,/%0[D,A]|%$/," ")
also den regulären Ausdruck auf
/%0[D,A]|%$/
Vielleicht hast Du aber auch nur ein A vergessen aus dem String zu kopieren.
-