Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. teile eines Strings löschen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    teile eines Strings löschen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @Mikewolf last edited by

      @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!

      Mikewolf 1 Reply Last reply Reply Quote 0
      • Mikewolf
        Mikewolf @Homoran last edited by Homoran

        @homoran
        im datenpunkt steht

        NEUE 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 mikewolf

        MOD-EDIT: Code in code-tags gesetzt!

        bahnuhr DJMarc75 2 Replies Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active @Mikewolf last edited by bahnuhr

          @mikewolf

          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.

          paul53 1 Reply Last reply Reply Quote 0
          • DJMarc75
            DJMarc75 @Mikewolf last edited by

            @mikewolf so mal der Test:

            Screenshot 2023-12-04 110304.png

            und so könnte das Blockly aussehen:

            Screenshot 2023-12-04 111039.png

            haus-automatisierung 1 Reply Last reply Reply Quote 0
            • rantanplan
              rantanplan @Mikewolf last edited by

              @mikewolf Hallo, schaumal hier.
              Beliebige Zeichen tauschen

              Grüße

              1 Reply Last reply Reply Quote 0
              • haus-automatisierung
                haus-automatisierung Developer Most Active @DJMarc75 last edited by

                @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...

                1 Reply Last reply Reply Quote 2
                • paul53
                  paul53 @bahnuhr last edited by paul53

                  @bahnuhr sagte: Befehl: replace

                  In Blockly: JS-Funktion mit Ergebnis delNL(text):

                  return text.replace(/%0D%0A/g, ' ');
                  
                  1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active last edited by mickym

                    JSONATA hat auch eine replace Funktion. Also ziemlich einfach:

                    $replace($,"%0D%0A","")
                    

                    2e9030ff-4028-4114-86ce-b705c4eaefaf-image.png

                    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]/," ")
                    

                    c82fa3ca-2afe-48d5-92d2-c13efcdfcc0f-image.png

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable id="lku$YIe5iNvg1c$0Ej,z">text</variable>
                     </variables>
                     <block type="variables_set" id="q^;Tzd6P])!2Ju+.j/wF" x="62" y="62">
                       <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">text</field>
                       <value name="VALUE">
                         <block type="text" id="O@e_/F31;RviCA!?lb3I">
                           <field name="TEXT">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%</field>
                         </block>
                       </value>
                       <next>
                         <block type="debug" id="Y!eS#^GtWkYb,THn{e:d">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id="V?o^g0U~oa.)*Av{9DPP">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="variables_get" id="}U8w4^$stHd7zJOP3n6]">
                               <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">text</field>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="]Fs`E+^=9}Qb0}t2Vo*x">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text" id="g|)?ne/LX`*IF1L=wF]1">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="convert_jsonata" id="U}c?}u3l}1e[KxJ7$brR">
                                   <value name="EXPRESSION">
                                     <shadow type="text" id="PfS=1@,8!FsD2#0E+yO+">
                                       <field name="TEXT">$replace($,/%0[D,A]/," ")</field>
                                     </shadow>
                                   </value>
                                   <value name="TARGET">
                                     <block type="variables_get" id="JFr5m:-%,($u[CH1G(pV">
                                       <field name="VAR" id="lku$YIe5iNvg1c$0Ej,z">text</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                    </xml>
                    

                    1 Reply Last reply Reply Quote 1
                    • Homoran
                      Homoran Global Moderator Administrators last edited by

                      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

                      bahnuhr 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active last edited by mickym

                        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]|%$/
                        

                        d604e7ee-8007-49e2-8b12-2d31fd6a7245-image.png

                        Vielleicht hast Du aber auch nur ein A vergessen aus dem String zu kopieren. 😉

                        1 Reply Last reply Reply Quote 0
                        • bahnuhr
                          bahnuhr Forum Testing Most Active @Homoran last edited by

                          @homoran sagte in teile eines Strings löschen:

                          Dann kann ich mich ja zur Ruhe setzen

                          abgelehnt 😉

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          480
                          Online

                          31.7k
                          Users

                          79.6k
                          Topics

                          1.3m
                          Posts

                          8
                          19
                          715
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo