- ioBroker Community Home
- Deutsch
- Skripten / Logik
- Blockly
- [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen
NEWS
[Vorlage] Blockly - Beliebiges Zeichen im Text tauschen
-
Ich habe nun doch noch mal einiges getestet und mir dann auch Texte angehört. Bei der Variante von @rantanplan fehlen Textbereiche. (ich muß nochmal schauen, ob das ein Timing Problem ist, wenn man den Text ansagen lassen will)
Beim gleichen Text mit @padrino seiner Variante endet die Ansage irgendwann und der letzte Teil fehlt in der Ansage...
Ich werde weiter testen und schauen woran es liegt....
PS: es könnte auch sein, das die Geschichte mit den Semikolons bei Alexa nicht bis ins Endlose reicht (also z.B. max 5 ?) oder ist so eine Ansage zeitlich begrenzt ?
@padrino , weißt Du da was ? -
Ich habe nun doch noch mal einiges getestet und mir dann auch Texte angehört. Bei der Variante von @rantanplan fehlen Textbereiche. (ich muß nochmal schauen, ob das ein Timing Problem ist, wenn man den Text ansagen lassen will)
Beim gleichen Text mit @padrino seiner Variante endet die Ansage irgendwann und der letzte Teil fehlt in der Ansage...
Ich werde weiter testen und schauen woran es liegt....
PS: es könnte auch sein, das die Geschichte mit den Semikolons bei Alexa nicht bis ins Endlose reicht (also z.B. max 5 ?) oder ist so eine Ansage zeitlich begrenzt ?
@padrino , weißt Du da was ?@dslraser
Ich glaube, hier im Forum etwas von "um die 1000" als maximale Länge gelesen zu haben, aber genau ergründet wurde das wohl nicht...
Mein informatisch angehauchtes Herz würde ja sagen 256/1024 - aber, da schon die 256 nicht stimmen...
️Mit Debug Ausgaben des Strings, ist mir auch schon aufgefallen, dass Textteile manchmal fehlen.
Also der String im Log ist korrekt und vollständig, aber Alexa lässt einen Block mittendtin einfach weg.
Es passiert hier ab und an auch bei einem ganz normalen speak, dass nichts kommt.
Da ich nicht weiß wieso, hab ich es mehr oder weniger so akzeptiert.
-
Hallo
Manchmal ist es notwendig unliebsame Zeichen aus einem Text zu entfernen um diese z.B. in VIS vernünftig darstellen zu können.
Mit dem folgenden Blockly kann man jedes Zeichen, ganze Wörter oder eine Folge von Steuerzeichen gegen etwas anderes tauschen.Der von @robson gefundene Bug wurde behoben.

Hier der geänderte Export:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="xSVSX?qYBxERx4)1(5:3">originalText</variable> <variable id=";bO,k;{f-t4YW^V4Yaby">suchText</variable> <variable id="=KxFmb,!C-6!HK%6iSz4">tauschText</variable> <variable id="pF_ac~cY~|C(S.I!U%Uu">MeinText</variable> <variable id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</variable> <variable id="P8$b81v9fsrHHrb+z]g1">Text</variable> <variable id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</variable> <variable id="I;i^c)UORMgY^LOatF[8">neuerText</variable> <variable id="6,6h67!#*?Hh,1(Sy,@u">AnzZeichenSuchtext</variable> <variable id="(NMF97xgk;{xp~AH$Ln*">Stelle</variable> </variables> <block type="comment" id="?t^|J^}%io+OnqAwVT4A" x="-237" y="-87"> <field name="COMMENT">Beliebige Zeichen tauschen</field> <next> <block type="variables_set" id="-P{_[1=caHEAoB9cP4Qx"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> <value name="VALUE"> <block type="text" id="]-v|)OoSpw-K*Z-|~Z|L"> <field name="TEXT">Dieser Text müßte geändert werden.</field> </block> </value> <next> <block type="controls_if" id="eO-Yu;zv=:r~yJNHR:iS"> <value name="IF0"> <block type="logic_negate" id="u@28{:]xG=4a9HU}|/v)"> <value name="BOOL"> <block type="text_isEmpty" id="W-_T.2)lUsLG/Z(5zIQN"> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="9LrDM?0xYv?MX-(}2OrI"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="B?L(8|(8?-Z7Ao*[F/VM"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="ziw)~y|7*7le5/J*8HC#"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="ECH/%?YEFylSUOK._8/K"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="Y(bM=~D[D5v)7a#1{`}`"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> </block> </value> <value name="ARG1"> <block type="text" id="(iqf|@QE;6:tP0}rbaEj"> <field name="TEXT">ü</field> </block> </value> <value name="ARG2"> <block type="text" id="_{HiLh|2|F3|a#[4lCvX"> <field name="TEXT">ue</field> </block> </value> </block> </value> <next> <block type="variables_set" id="`vGUP!R!*|3sjY~dZXxZ"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="rvKR.cz9FhImw~YT8:YY"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="4r-=T6yu%Y[}Zn!QhpR/"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> </block> </value> <value name="ARG1"> <block type="text" id="mbk@+N`6F_eG)N%Jw|2J"> <field name="TEXT">ä</field> </block> </value> <value name="ARG2"> <block type="text" id="OtGH;LSHf;*t,59fJ)5i"> <field name="TEXT">ae</field> </block> </value> </block> </value> <next> <block type="variables_set" id="3+|QU5[xS;U@Qijfuu@7"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="~C~TrH*=xX3Xl-l@tg#V"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id=",eH?bND1?H}TimRX_wnz"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> </block> </value> <value name="ARG1"> <block type="text" id="6AWuk;A#5~8;jXas31)I"> <field name="TEXT">ß</field> </block> </value> <value name="ARG2"> <block type="text" id="[M[ZL8Y,u8fNWw|eR|g)"> <field name="TEXT">ss</field> </block> </value> </block> </value> <next> <block type="debug" id="g8IUrYe_.rei!S6]Mc?a"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="d7HPm]yEeu9+?9HT0u|l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="^/WzSct]9kWQNOvtqOg/"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> </block> </value> <next> <block type="debug" id="Hme!w3Ag?_DUH%uRzR)U"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="d7HPm]yEeu9+?9HT0u|l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="`v3q2Xw=qC`r6)o/kUEY"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> <block type="procedures_defreturn" id="*?%n[KG5e1!^tNun#Hj5" x="288" y="-87"> <mutation> <arg name="originalText" varid="xSVSX?qYBxERx4)1(5:3"></arg> <arg name="suchText" varid=";bO,k;{f-t4YW^V4Yaby"></arg> <arg name="tauschText" varid="=KxFmb,!C-6!HK%6iSz4"></arg> </mutation> <field name="NAME">changeText</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id=",*Bi*dYY8!8mI7(mg9V."> <field name="VAR" id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</field> <value name="VALUE"> <block type="text" id="|BZm+^ZNZWW}2Oo#`j;?"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="w]M[kO6!;:DS!~0O}SHV"> <field name="VAR" id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</field> <value name="VALUE"> <block type="text" id="LK!;|?K5!yeQYlUax(!P"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="LyZ2%lYW+kfm,4)yV8UN"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> <value name="VALUE"> <block type="variables_get" id="da5*p]}sO:{{|ZE!nhDe"> <field name="VAR" id="xSVSX?qYBxERx4)1(5:3">originalText</field> </block> </value> <next> <block type="variables_set" id="yx;qp1@1fC(oiG4c5gZt"> <field name="VAR" id="6,6h67!#*?Hh,1(Sy,@u">AnzZeichenSuchtext</field> <value name="VALUE"> <block type="text_length" id="Jwz33ARDLc!=8:eDagDD"> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="RZWm!~Yo4w5)66Gu|Gs_"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="G2I+np)5qee]q{4)BlN2"> <field name="VAR" id=";bO,k;{f-t4YW^V4Yaby">suchText</field> </block> </value> </block> </value> <next> <block type="variables_set" id="eAGK[85W)DRaIaN!oMiH"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> <value name="VALUE"> <block type="text_indexOf" id="/@rj}{;VUCJ8O|28^(Hf"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="}de%ffO*rIt%j6)99pf3"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="7MprEQxoWq}#3~Xz:32k"> <field name="TEXT">%0D%0A</field> </shadow> <block type="variables_get" id="7)r.X1a~Tee1!dAwZy`!"> <field name="VAR" id=";bO,k;{f-t4YW^V4Yaby">suchText</field> </block> </value> </block> </value> <next> <block type="controls_whileUntil" id="4lR}{f])DWKyjt}.(6cc"> <field name="MODE">WHILE</field> <value name="BOOL"> <block type="logic_compare" id="e`eUWK6kyOU=[/x]M({`"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="}7HLWRwI(SDg1^@=czoV"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <block type="math_number" id="#y,za{r#@s7Ri.U!9v)A"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO"> <block type="comment" id="38%#2?@btrH6%hebNg3_"> <field name="COMMENT">Wenn nicht erste Zeichen im Text!</field> <next> <block type="controls_if" id="R]}Pl(*eeA:Dh@;{q_CH"> <value name="IF0"> <block type="logic_compare" id="l,u?h{)Z-u/OozI,.79G"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="B/K~z.ANK2);I3(uk4Bh"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <block type="math_number" id="|3~K:6jrHq7oxz=fL:Yz"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="{R*X,7K)DA^dq/.~KK7{"> <field name="VAR" id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</field> <value name="VALUE"> <block type="text_getSubstring" id="Img0opt.EB#)RM-bp~hw"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="A9h*F{tgJR0y[Q0uv7,="> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="([5R[:8Ywn-thKN@r:~}"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="u@:!j5WimCjV%fG9hPGs"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="U0qw,~,2KoaAc37UO{l#"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <shadow type="math_number" id="DT#zRSRu1.y^|5Z#G37W"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> <next> <block type="variables_set" id="Else^,?QE9TTS.Y%K]W="> <field name="VAR" id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</field> <value name="VALUE"> <block type="text_getSubstring" id="e8A7NqY7O!@K(aFlMpV#" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="variables_get" id="|jU0g8+eIgwn_|IB56)@"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="F#*%;R9ugmwaaas?WBwG"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="8/I%=/~YReHV]Iwo{}(J"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="R0|a}kx2M~SYjPKS5Cc{"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=";Q(aJ::90?0?H;-45cgS"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="dY33=1IVxkrSH1k1#X6A"> <field name="VAR" id="6,6h67!#*?Hh,1(Sy,@u">AnzZeichenSuchtext</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="OcJS!-Ku1vQY4)I+r,gc"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> <value name="VALUE"> <block type="text_join" id="%%D@nUqB1tt^`?qrUahx"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="q]l%0Dpb89BZy1-m[TjM"> <field name="VAR" id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="f~POFU0}K4-w]xVc1?,`"> <field name="VAR" id="=KxFmb,!C-6!HK%6iSz4">tauschText</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="U77~u,Qfmb2g[O19eHoh"> <field name="VAR" id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</field> </block> </value> </block> </value> <next> <block type="variables_set" id="lao?KUxF77Si~Xc2j%^{"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> <value name="VALUE"> <block type="text_indexOf" id="[),PN,ZrAW,C/~:K[x[:"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="6{t:BeVh6=bsQF(zUhYG"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="{Vd/Su8uk@lo|:3KMi1L"> <field name="TEXT">%0D%0A</field> </shadow> <block type="variables_get" id="r|~fKkGR#@1@G6_GX`-g"> <field name="VAR" id=";bO,k;{f-t4YW^V4Yaby">suchText</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="RETURN"> <block type="variables_get" id=".*DA-:q/GzURSEPH2ZiQ"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> </block> </xml>Bei Fragen, fragen.
Grüße
-
Hallo,
danke für deine Vorlage.
Baue Sie grad nach.Aber irgendwie bin ich zu doof, den "change Text" Baustein zu finden.
Kann mir jemand sagen, wie ich den erreiche?
@David-G
wenn Du es nachbaust mußt Du den selbst erstellen, das ist eine Funktion.
(oder Du importierst den Export aus dem ersten Beitrag) -
@David-G
wenn Du es nachbaust mußt Du den selbst erstellen, das ist eine Funktion.
(oder Du importierst den Export aus dem ersten Beitrag) -
Importieren ist was doof, möchte es in ein größeres Script was ich schon habe integrieren.
Kann man die Funktion aus dem Export extrahieren?@David-G
Man kann jeden einzelnen Baustein oder sogar ganze Bereiche extrahieren. Einfach den Baustein, also die gesamte Funktion anklicken und dann exportieren in die Zwischenablage und wieder in Dein anderes Blockly importieren. -
@David-G
Man kann jeden einzelnen Baustein oder sogar ganze Bereiche extrahieren. Einfach den Baustein, also die gesamte Funktion anklicken und dann exportieren in die Zwischenablage und wieder in Dein anderes Blockly importieren. -
@David-G
Man kann jeden einzelnen Baustein oder sogar ganze Bereiche extrahieren. Einfach den Baustein, also die gesamte Funktion anklicken und dann exportieren in die Zwischenablage und wieder in Dein anderes Blockly importieren.Habs hinbekommen.
Die Tabelle von der wir gestern gesprochen habe, habe ich jetzt auch mit dem Pingadapter umgesetzt.
Der haut immer ein doofes "Alive" vor den Namen.Jetzt ist es weg (und kann noch ein wenig Einfluss nehmen).
-
Hallo
Manchmal ist es notwendig unliebsame Zeichen aus einem Text zu entfernen um diese z.B. in VIS vernünftig darstellen zu können.
Mit dem folgenden Blockly kann man jedes Zeichen, ganze Wörter oder eine Folge von Steuerzeichen gegen etwas anderes tauschen.Der von @robson gefundene Bug wurde behoben.

Hier der geänderte Export:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="xSVSX?qYBxERx4)1(5:3">originalText</variable> <variable id=";bO,k;{f-t4YW^V4Yaby">suchText</variable> <variable id="=KxFmb,!C-6!HK%6iSz4">tauschText</variable> <variable id="pF_ac~cY~|C(S.I!U%Uu">MeinText</variable> <variable id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</variable> <variable id="P8$b81v9fsrHHrb+z]g1">Text</variable> <variable id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</variable> <variable id="I;i^c)UORMgY^LOatF[8">neuerText</variable> <variable id="6,6h67!#*?Hh,1(Sy,@u">AnzZeichenSuchtext</variable> <variable id="(NMF97xgk;{xp~AH$Ln*">Stelle</variable> </variables> <block type="comment" id="?t^|J^}%io+OnqAwVT4A" x="-237" y="-87"> <field name="COMMENT">Beliebige Zeichen tauschen</field> <next> <block type="variables_set" id="-P{_[1=caHEAoB9cP4Qx"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> <value name="VALUE"> <block type="text" id="]-v|)OoSpw-K*Z-|~Z|L"> <field name="TEXT">Dieser Text müßte geändert werden.</field> </block> </value> <next> <block type="controls_if" id="eO-Yu;zv=:r~yJNHR:iS"> <value name="IF0"> <block type="logic_negate" id="u@28{:]xG=4a9HU}|/v)"> <value name="BOOL"> <block type="text_isEmpty" id="W-_T.2)lUsLG/Z(5zIQN"> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="9LrDM?0xYv?MX-(}2OrI"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="B?L(8|(8?-Z7Ao*[F/VM"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="ziw)~y|7*7le5/J*8HC#"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="ECH/%?YEFylSUOK._8/K"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="Y(bM=~D[D5v)7a#1{`}`"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> </block> </value> <value name="ARG1"> <block type="text" id="(iqf|@QE;6:tP0}rbaEj"> <field name="TEXT">ü</field> </block> </value> <value name="ARG2"> <block type="text" id="_{HiLh|2|F3|a#[4lCvX"> <field name="TEXT">ue</field> </block> </value> </block> </value> <next> <block type="variables_set" id="`vGUP!R!*|3sjY~dZXxZ"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="rvKR.cz9FhImw~YT8:YY"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="4r-=T6yu%Y[}Zn!QhpR/"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> </block> </value> <value name="ARG1"> <block type="text" id="mbk@+N`6F_eG)N%Jw|2J"> <field name="TEXT">ä</field> </block> </value> <value name="ARG2"> <block type="text" id="OtGH;LSHf;*t,59fJ)5i"> <field name="TEXT">ae</field> </block> </value> </block> </value> <next> <block type="variables_set" id="3+|QU5[xS;U@Qijfuu@7"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="~C~TrH*=xX3Xl-l@tg#V"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id=",eH?bND1?H}TimRX_wnz"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> </block> </value> <value name="ARG1"> <block type="text" id="6AWuk;A#5~8;jXas31)I"> <field name="TEXT">ß</field> </block> </value> <value name="ARG2"> <block type="text" id="[M[ZL8Y,u8fNWw|eR|g)"> <field name="TEXT">ss</field> </block> </value> </block> </value> <next> <block type="debug" id="g8IUrYe_.rei!S6]Mc?a"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="d7HPm]yEeu9+?9HT0u|l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="^/WzSct]9kWQNOvtqOg/"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> </block> </value> <next> <block type="debug" id="Hme!w3Ag?_DUH%uRzR)U"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="d7HPm]yEeu9+?9HT0u|l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="`v3q2Xw=qC`r6)o/kUEY"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> <block type="procedures_defreturn" id="*?%n[KG5e1!^tNun#Hj5" x="288" y="-87"> <mutation> <arg name="originalText" varid="xSVSX?qYBxERx4)1(5:3"></arg> <arg name="suchText" varid=";bO,k;{f-t4YW^V4Yaby"></arg> <arg name="tauschText" varid="=KxFmb,!C-6!HK%6iSz4"></arg> </mutation> <field name="NAME">changeText</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id=",*Bi*dYY8!8mI7(mg9V."> <field name="VAR" id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</field> <value name="VALUE"> <block type="text" id="|BZm+^ZNZWW}2Oo#`j;?"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="w]M[kO6!;:DS!~0O}SHV"> <field name="VAR" id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</field> <value name="VALUE"> <block type="text" id="LK!;|?K5!yeQYlUax(!P"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="LyZ2%lYW+kfm,4)yV8UN"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> <value name="VALUE"> <block type="variables_get" id="da5*p]}sO:{{|ZE!nhDe"> <field name="VAR" id="xSVSX?qYBxERx4)1(5:3">originalText</field> </block> </value> <next> <block type="variables_set" id="yx;qp1@1fC(oiG4c5gZt"> <field name="VAR" id="6,6h67!#*?Hh,1(Sy,@u">AnzZeichenSuchtext</field> <value name="VALUE"> <block type="text_length" id="Jwz33ARDLc!=8:eDagDD"> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="RZWm!~Yo4w5)66Gu|Gs_"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="G2I+np)5qee]q{4)BlN2"> <field name="VAR" id=";bO,k;{f-t4YW^V4Yaby">suchText</field> </block> </value> </block> </value> <next> <block type="variables_set" id="eAGK[85W)DRaIaN!oMiH"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> <value name="VALUE"> <block type="text_indexOf" id="/@rj}{;VUCJ8O|28^(Hf"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="}de%ffO*rIt%j6)99pf3"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="7MprEQxoWq}#3~Xz:32k"> <field name="TEXT">%0D%0A</field> </shadow> <block type="variables_get" id="7)r.X1a~Tee1!dAwZy`!"> <field name="VAR" id=";bO,k;{f-t4YW^V4Yaby">suchText</field> </block> </value> </block> </value> <next> <block type="controls_whileUntil" id="4lR}{f])DWKyjt}.(6cc"> <field name="MODE">WHILE</field> <value name="BOOL"> <block type="logic_compare" id="e`eUWK6kyOU=[/x]M({`"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="}7HLWRwI(SDg1^@=czoV"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <block type="math_number" id="#y,za{r#@s7Ri.U!9v)A"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO"> <block type="comment" id="38%#2?@btrH6%hebNg3_"> <field name="COMMENT">Wenn nicht erste Zeichen im Text!</field> <next> <block type="controls_if" id="R]}Pl(*eeA:Dh@;{q_CH"> <value name="IF0"> <block type="logic_compare" id="l,u?h{)Z-u/OozI,.79G"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="B/K~z.ANK2);I3(uk4Bh"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <block type="math_number" id="|3~K:6jrHq7oxz=fL:Yz"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="{R*X,7K)DA^dq/.~KK7{"> <field name="VAR" id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</field> <value name="VALUE"> <block type="text_getSubstring" id="Img0opt.EB#)RM-bp~hw"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="A9h*F{tgJR0y[Q0uv7,="> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="([5R[:8Ywn-thKN@r:~}"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="u@:!j5WimCjV%fG9hPGs"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="U0qw,~,2KoaAc37UO{l#"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <shadow type="math_number" id="DT#zRSRu1.y^|5Z#G37W"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> <next> <block type="variables_set" id="Else^,?QE9TTS.Y%K]W="> <field name="VAR" id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</field> <value name="VALUE"> <block type="text_getSubstring" id="e8A7NqY7O!@K(aFlMpV#" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="variables_get" id="|jU0g8+eIgwn_|IB56)@"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="F#*%;R9ugmwaaas?WBwG"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="8/I%=/~YReHV]Iwo{}(J"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="R0|a}kx2M~SYjPKS5Cc{"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=";Q(aJ::90?0?H;-45cgS"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="dY33=1IVxkrSH1k1#X6A"> <field name="VAR" id="6,6h67!#*?Hh,1(Sy,@u">AnzZeichenSuchtext</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="OcJS!-Ku1vQY4)I+r,gc"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> <value name="VALUE"> <block type="text_join" id="%%D@nUqB1tt^`?qrUahx"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="q]l%0Dpb89BZy1-m[TjM"> <field name="VAR" id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="f~POFU0}K4-w]xVc1?,`"> <field name="VAR" id="=KxFmb,!C-6!HK%6iSz4">tauschText</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="U77~u,Qfmb2g[O19eHoh"> <field name="VAR" id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</field> </block> </value> </block> </value> <next> <block type="variables_set" id="lao?KUxF77Si~Xc2j%^{"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> <value name="VALUE"> <block type="text_indexOf" id="[),PN,ZrAW,C/~:K[x[:"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="6{t:BeVh6=bsQF(zUhYG"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="{Vd/Su8uk@lo|:3KMi1L"> <field name="TEXT">%0D%0A</field> </shadow> <block type="variables_get" id="r|~fKkGR#@1@G6_GX`-g"> <field name="VAR" id=";bO,k;{f-t4YW^V4Yaby">suchText</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="RETURN"> <block type="variables_get" id=".*DA-:q/GzURSEPH2ZiQ"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> </block> </xml>Bei Fragen, fragen.
Grüße
@rantanplan sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
Hallo
Manchmal ist es notwendig unliebsame Zeichen aus einem Text zu entfernen um diese z.B. in VIS vernünftig darstellen zu können.
Mit dem folgenden Blockly kann man jedes Zeichen, ganze Wörter oder eine Folge von Steuerzeichen gegen etwas anderes tauschen.

Hier der Export:
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="comment" id="?t^|J^}%io+OnqAwVT4A" x="-237" y="-87"> <field name="COMMENT">Beliebige Zeichen tauschen</field> <next> <block type="variables_set" id="-P{_[1=caHEAoB9cP4Qx"> <field name="VAR">MeinText</field> <value name="VALUE"> <block type="text" id="]-v|)OoSpw-K*Z-|~Z|L"> <field name="TEXT">Dieser Text müßte geändert werden</field> </block> </value> <next> <block type="controls_if" id="eO-Yu;zv=:r~yJNHR:iS"> <value name="IF0"> <block type="logic_negate" id="u@28{:]xG=4a9HU}|/v)"> <value name="BOOL"> <block type="text_isEmpty" id="W-_T.2)lUsLG/Z(5zIQN"> <value name="VALUE"> <shadow type="text" id="9LrDM?0xYv?MX-(}2OrI"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="B?L(8|(8?-Z7Ao*[F/VM"> <field name="VAR">MeinText</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="ziw)~y|7*7le5/J*8HC#"> <field name="VAR">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="ECH/%?YEFylSUOK._8/K"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="Y(bM=~D[D5v)7a#1{`}`"> <field name="VAR">MeinText</field> </block> </value> <value name="ARG1"> <block type="text" id="(iqf|@QE;6:tP0}rbaEj"> <field name="TEXT">ü</field> </block> </value> <value name="ARG2"> <block type="text" id="_{HiLh|2|F3|a#[4lCvX"> <field name="TEXT">ue</field> </block> </value> </block> </value> <next> <block type="variables_set" id="`vGUP!R!*|3sjY~dZXxZ"> <field name="VAR">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="rvKR.cz9FhImw~YT8:YY"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="4r-=T6yu%Y[}Zn!QhpR/"> <field name="VAR">neuerText</field> </block> </value> <value name="ARG1"> <block type="text" id="mbk@+N`6F_eG)N%Jw|2J"> <field name="TEXT">ä</field> </block> </value> <value name="ARG2"> <block type="text" id="OtGH;LSHf;*t,59fJ)5i"> <field name="TEXT">ae</field> </block> </value> </block> </value> <next> <block type="variables_set" id="3+|QU5[xS;U@Qijfuu@7"> <field name="VAR">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="~C~TrH*=xX3Xl-l@tg#V"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id=",eH?bND1?H}TimRX_wnz"> <field name="VAR">neuerText</field> </block> </value> <value name="ARG1"> <block type="text" id="6AWuk;A#5~8;jXas31)I"> <field name="TEXT">ß</field> </block> </value> <value name="ARG2"> <block type="text" id="[M[ZL8Y,u8fNWw|eR|g)"> <field name="TEXT">ss</field> </block> </value> </block> </value> <next> <block type="debug" id="g8IUrYe_.rei!S6]Mc?a"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="d7HPm]yEeu9+?9HT0u|l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="^/WzSct]9kWQNOvtqOg/"> <field name="VAR">MeinText</field> </block> </value> <next> <block type="debug" id="Hme!w3Ag?_DUH%uRzR)U"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="d7HPm]yEeu9+?9HT0u|l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="`v3q2Xw=qC`r6)o/kUEY"> <field name="VAR">neuerText</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> <block type="procedures_defreturn" id="*?%n[KG5e1!^tNun#Hj5" x="288" y="-87"> <mutation> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <field name="NAME">changeText</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="LyZ2%lYW+kfm,4)yV8UN"> <field name="VAR">Text</field> <value name="VALUE"> <block type="variables_get" id="da5*p]}sO:{{|ZE!nhDe"> <field name="VAR">originalText</field> </block> </value> <next> <block type="variables_set" id="yx;qp1@1fC(oiG4c5gZt"> <field name="VAR">AnzZeichenSuchtext</field> <value name="VALUE"> <block type="text_length" id="Jwz33ARDLc!=8:eDagDD"> <value name="VALUE"> <shadow type="text" id="RZWm!~Yo4w5)66Gu|Gs_"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="G2I+np)5qee]q{4)BlN2"> <field name="VAR">suchText</field> </block> </value> </block> </value> <next> <block type="variables_set" id="eAGK[85W)DRaIaN!oMiH"> <field name="VAR">Stelle</field> <value name="VALUE"> <block type="text_indexOf" id="/@rj}{;VUCJ8O|28^(Hf"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="}de%ffO*rIt%j6)99pf3"> <field name="VAR">Text</field> </block> </value> <value name="FIND"> <shadow type="text" id="7MprEQxoWq}#3~Xz:32k"> <field name="TEXT">%0D%0A</field> </shadow> <block type="variables_get" id="7)r.X1a~Tee1!dAwZy`!"> <field name="VAR">suchText</field> </block> </value> </block> </value> <next> <block type="controls_whileUntil" id="4lR}{f])DWKyjt}.(6cc"> <field name="MODE">WHILE</field> <value name="BOOL"> <block type="logic_compare" id="e`eUWK6kyOU=[/x]M({`"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="}7HLWRwI(SDg1^@=czoV"> <field name="VAR">Stelle</field> </block> </value> <value name="B"> <block type="math_number" id="#y,za{r#@s7Ri.U!9v)A"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO"> <block type="controls_if" id="PM@Su)b1YOhTZo2qPxB]"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="l,u?h{)Z-u/OozI,.79G"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="B/K~z.ANK2);I3(uk4Bh"> <field name="VAR">Stelle</field> </block> </value> <value name="B"> <block type="math_number" id="|3~K:6jrHq7oxz=fL:Yz"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="uN{|N4-0EabDJqYE0]@#"> <field name="COMMENT">steht am Textanfang</field> <next> <block type="variables_set" id="9?Gy,w.t#1pdl^AOxc#Y"> <field name="VAR">Teil_1</field> <value name="VALUE"> <block type="variables_get" id="h(#=bJ`DU%y/Jd9%HR9I"> <field name="VAR">tauschText</field> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="{R*X,7K)DA^dq/.~KK7{"> <field name="VAR">Teil_1</field> <value name="VALUE"> <block type="text_getSubstring" id="Img0opt.EB#)RM-bp~hw"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="A9h*F{tgJR0y[Q0uv7,="> <field name="VAR">Text</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="([5R[:8Ywn-thKN@r:~}"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="u@:!j5WimCjV%fG9hPGs"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="U0qw,~,2KoaAc37UO{l#"> <field name="VAR">Stelle</field> </block> </value> <value name="B"> <shadow type="math_number" id="DT#zRSRu1.y^|5Z#G37W"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> <next> <block type="variables_set" id="Else^,?QE9TTS.Y%K]W="> <field name="VAR">Teil_2</field> <value name="VALUE"> <block type="text_getSubstring" id="e8A7NqY7O!@K(aFlMpV#" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="variables_get" id="|jU0g8+eIgwn_|IB56)@"> <field name="VAR">Text</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="F#*%;R9ugmwaaas?WBwG"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="8/I%=/~YReHV]Iwo{}(J"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="R0|a}kx2M~SYjPKS5Cc{"> <field name="VAR">Stelle</field> </block> </value> <value name="B"> <shadow type="math_number" id=";Q(aJ::90?0?H;-45cgS"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="dY33=1IVxkrSH1k1#X6A"> <field name="VAR">AnzZeichenSuchtext</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="OcJS!-Ku1vQY4)I+r,gc"> <field name="VAR">Text</field> <value name="VALUE"> <block type="text_join" id="%%D@nUqB1tt^`?qrUahx"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="q]l%0Dpb89BZy1-m[TjM"> <field name="VAR">Teil_1</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="f~POFU0}K4-w]xVc1?,`"> <field name="VAR">tauschText</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="U77~u,Qfmb2g[O19eHoh"> <field name="VAR">Teil_2</field> </block> </value> </block> </value> <next> <block type="variables_set" id="lao?KUxF77Si~Xc2j%^{"> <field name="VAR">Stelle</field> <value name="VALUE"> <block type="text_indexOf" id="[),PN,ZrAW,C/~:K[x[:"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="6{t:BeVh6=bsQF(zUhYG"> <field name="VAR">Text</field> </block> </value> <value name="FIND"> <shadow type="text" id="{Vd/Su8uk@lo|:3KMi1L"> <field name="TEXT">%0D%0A</field> </shadow> <block type="variables_get" id="r|~fKkGR#@1@G6_GX`-g"> <field name="VAR">suchText</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="RETURN"> <block type="variables_get" id=".*DA-:q/GzURSEPH2ZiQ"> <field name="VAR">Text</field> </block> </value> </block> </xml>Bei Fragen, fragen.
Grüße
Hi @rantanplan ,
danke für deine Vorlage.Ich hatte bei Nutzung nun aber das Problem, dass das erste Zeichen im String dupliziert getauscht wird.
Bsp: Im String "Wurst" soll das "W" durch ein "D" getauscht werden. Anstatt "Durst" gibt mir das Skript "DDurst" aus.Das liegt mMn an folgender Funktion:

Da "Teil_1" und "tauschText" identisch sind, werden diese hintereinander geschrieben.
Ich habe dies mit einer einfachen Prüfung behoben.

Falls "Teil_1" und "tauschtext" identisch sind, dann erstelle Text aus "Teil_1" und Teil_2".
Falls sie nicht identisch sind, dann erstelle Text aus "Teil_1", "tauschtext" und "Teil_2".Ich hoffe, dass hilft dem ein oder anderen.
-
@rantanplan sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
Hallo
Manchmal ist es notwendig unliebsame Zeichen aus einem Text zu entfernen um diese z.B. in VIS vernünftig darstellen zu können.
Mit dem folgenden Blockly kann man jedes Zeichen, ganze Wörter oder eine Folge von Steuerzeichen gegen etwas anderes tauschen.

Hier der Export:
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="comment" id="?t^|J^}%io+OnqAwVT4A" x="-237" y="-87"> <field name="COMMENT">Beliebige Zeichen tauschen</field> <next> <block type="variables_set" id="-P{_[1=caHEAoB9cP4Qx"> <field name="VAR">MeinText</field> <value name="VALUE"> <block type="text" id="]-v|)OoSpw-K*Z-|~Z|L"> <field name="TEXT">Dieser Text müßte geändert werden</field> </block> </value> <next> <block type="controls_if" id="eO-Yu;zv=:r~yJNHR:iS"> <value name="IF0"> <block type="logic_negate" id="u@28{:]xG=4a9HU}|/v)"> <value name="BOOL"> <block type="text_isEmpty" id="W-_T.2)lUsLG/Z(5zIQN"> <value name="VALUE"> <shadow type="text" id="9LrDM?0xYv?MX-(}2OrI"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="B?L(8|(8?-Z7Ao*[F/VM"> <field name="VAR">MeinText</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="ziw)~y|7*7le5/J*8HC#"> <field name="VAR">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="ECH/%?YEFylSUOK._8/K"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="Y(bM=~D[D5v)7a#1{`}`"> <field name="VAR">MeinText</field> </block> </value> <value name="ARG1"> <block type="text" id="(iqf|@QE;6:tP0}rbaEj"> <field name="TEXT">ü</field> </block> </value> <value name="ARG2"> <block type="text" id="_{HiLh|2|F3|a#[4lCvX"> <field name="TEXT">ue</field> </block> </value> </block> </value> <next> <block type="variables_set" id="`vGUP!R!*|3sjY~dZXxZ"> <field name="VAR">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="rvKR.cz9FhImw~YT8:YY"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="4r-=T6yu%Y[}Zn!QhpR/"> <field name="VAR">neuerText</field> </block> </value> <value name="ARG1"> <block type="text" id="mbk@+N`6F_eG)N%Jw|2J"> <field name="TEXT">ä</field> </block> </value> <value name="ARG2"> <block type="text" id="OtGH;LSHf;*t,59fJ)5i"> <field name="TEXT">ae</field> </block> </value> </block> </value> <next> <block type="variables_set" id="3+|QU5[xS;U@Qijfuu@7"> <field name="VAR">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="~C~TrH*=xX3Xl-l@tg#V"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id=",eH?bND1?H}TimRX_wnz"> <field name="VAR">neuerText</field> </block> </value> <value name="ARG1"> <block type="text" id="6AWuk;A#5~8;jXas31)I"> <field name="TEXT">ß</field> </block> </value> <value name="ARG2"> <block type="text" id="[M[ZL8Y,u8fNWw|eR|g)"> <field name="TEXT">ss</field> </block> </value> </block> </value> <next> <block type="debug" id="g8IUrYe_.rei!S6]Mc?a"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="d7HPm]yEeu9+?9HT0u|l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="^/WzSct]9kWQNOvtqOg/"> <field name="VAR">MeinText</field> </block> </value> <next> <block type="debug" id="Hme!w3Ag?_DUH%uRzR)U"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="d7HPm]yEeu9+?9HT0u|l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="`v3q2Xw=qC`r6)o/kUEY"> <field name="VAR">neuerText</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> <block type="procedures_defreturn" id="*?%n[KG5e1!^tNun#Hj5" x="288" y="-87"> <mutation> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <field name="NAME">changeText</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="LyZ2%lYW+kfm,4)yV8UN"> <field name="VAR">Text</field> <value name="VALUE"> <block type="variables_get" id="da5*p]}sO:{{|ZE!nhDe"> <field name="VAR">originalText</field> </block> </value> <next> <block type="variables_set" id="yx;qp1@1fC(oiG4c5gZt"> <field name="VAR">AnzZeichenSuchtext</field> <value name="VALUE"> <block type="text_length" id="Jwz33ARDLc!=8:eDagDD"> <value name="VALUE"> <shadow type="text" id="RZWm!~Yo4w5)66Gu|Gs_"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="G2I+np)5qee]q{4)BlN2"> <field name="VAR">suchText</field> </block> </value> </block> </value> <next> <block type="variables_set" id="eAGK[85W)DRaIaN!oMiH"> <field name="VAR">Stelle</field> <value name="VALUE"> <block type="text_indexOf" id="/@rj}{;VUCJ8O|28^(Hf"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="}de%ffO*rIt%j6)99pf3"> <field name="VAR">Text</field> </block> </value> <value name="FIND"> <shadow type="text" id="7MprEQxoWq}#3~Xz:32k"> <field name="TEXT">%0D%0A</field> </shadow> <block type="variables_get" id="7)r.X1a~Tee1!dAwZy`!"> <field name="VAR">suchText</field> </block> </value> </block> </value> <next> <block type="controls_whileUntil" id="4lR}{f])DWKyjt}.(6cc"> <field name="MODE">WHILE</field> <value name="BOOL"> <block type="logic_compare" id="e`eUWK6kyOU=[/x]M({`"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="}7HLWRwI(SDg1^@=czoV"> <field name="VAR">Stelle</field> </block> </value> <value name="B"> <block type="math_number" id="#y,za{r#@s7Ri.U!9v)A"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO"> <block type="controls_if" id="PM@Su)b1YOhTZo2qPxB]"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="l,u?h{)Z-u/OozI,.79G"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="B/K~z.ANK2);I3(uk4Bh"> <field name="VAR">Stelle</field> </block> </value> <value name="B"> <block type="math_number" id="|3~K:6jrHq7oxz=fL:Yz"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="uN{|N4-0EabDJqYE0]@#"> <field name="COMMENT">steht am Textanfang</field> <next> <block type="variables_set" id="9?Gy,w.t#1pdl^AOxc#Y"> <field name="VAR">Teil_1</field> <value name="VALUE"> <block type="variables_get" id="h(#=bJ`DU%y/Jd9%HR9I"> <field name="VAR">tauschText</field> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="{R*X,7K)DA^dq/.~KK7{"> <field name="VAR">Teil_1</field> <value name="VALUE"> <block type="text_getSubstring" id="Img0opt.EB#)RM-bp~hw"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="A9h*F{tgJR0y[Q0uv7,="> <field name="VAR">Text</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="([5R[:8Ywn-thKN@r:~}"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="u@:!j5WimCjV%fG9hPGs"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="U0qw,~,2KoaAc37UO{l#"> <field name="VAR">Stelle</field> </block> </value> <value name="B"> <shadow type="math_number" id="DT#zRSRu1.y^|5Z#G37W"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> <next> <block type="variables_set" id="Else^,?QE9TTS.Y%K]W="> <field name="VAR">Teil_2</field> <value name="VALUE"> <block type="text_getSubstring" id="e8A7NqY7O!@K(aFlMpV#" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="variables_get" id="|jU0g8+eIgwn_|IB56)@"> <field name="VAR">Text</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="F#*%;R9ugmwaaas?WBwG"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="8/I%=/~YReHV]Iwo{}(J"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="R0|a}kx2M~SYjPKS5Cc{"> <field name="VAR">Stelle</field> </block> </value> <value name="B"> <shadow type="math_number" id=";Q(aJ::90?0?H;-45cgS"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="dY33=1IVxkrSH1k1#X6A"> <field name="VAR">AnzZeichenSuchtext</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="OcJS!-Ku1vQY4)I+r,gc"> <field name="VAR">Text</field> <value name="VALUE"> <block type="text_join" id="%%D@nUqB1tt^`?qrUahx"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="q]l%0Dpb89BZy1-m[TjM"> <field name="VAR">Teil_1</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="f~POFU0}K4-w]xVc1?,`"> <field name="VAR">tauschText</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="U77~u,Qfmb2g[O19eHoh"> <field name="VAR">Teil_2</field> </block> </value> </block> </value> <next> <block type="variables_set" id="lao?KUxF77Si~Xc2j%^{"> <field name="VAR">Stelle</field> <value name="VALUE"> <block type="text_indexOf" id="[),PN,ZrAW,C/~:K[x[:"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="6{t:BeVh6=bsQF(zUhYG"> <field name="VAR">Text</field> </block> </value> <value name="FIND"> <shadow type="text" id="{Vd/Su8uk@lo|:3KMi1L"> <field name="TEXT">%0D%0A</field> </shadow> <block type="variables_get" id="r|~fKkGR#@1@G6_GX`-g"> <field name="VAR">suchText</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="RETURN"> <block type="variables_get" id=".*DA-:q/GzURSEPH2ZiQ"> <field name="VAR">Text</field> </block> </value> </block> </xml>Bei Fragen, fragen.
Grüße
Hi @rantanplan ,
danke für deine Vorlage.Ich hatte bei Nutzung nun aber das Problem, dass das erste Zeichen im String dupliziert getauscht wird.
Bsp: Im String "Wurst" soll das "W" durch ein "D" getauscht werden. Anstatt "Durst" gibt mir das Skript "DDurst" aus.Das liegt mMn an folgender Funktion:

Da "Teil_1" und "tauschText" identisch sind, werden diese hintereinander geschrieben.
Ich habe dies mit einer einfachen Prüfung behoben.

Falls "Teil_1" und "tauschtext" identisch sind, dann erstelle Text aus "Teil_1" und Teil_2".
Falls sie nicht identisch sind, dann erstelle Text aus "Teil_1", "tauschtext" und "Teil_2".Ich hoffe, dass hilft dem ein oder anderen.
@robson Danke für die Info.
Da hast Du aber nach langer, langer, langer Zeit einen Bug gefunden
Habe das Blockly geändert und im ersten Post neu hinterlegt.
Hier die Änderung.

Grüße
Rantanplan
CCU3 / MS Server 2019(VM) / Scripten mit Blockly
-
@robson Danke für die Info.
Da hast Du aber nach langer, langer, langer Zeit einen Bug gefunden
Habe das Blockly geändert und im ersten Post neu hinterlegt.
Hier die Änderung.

Grüße
@rantanplan sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
@robson Danke für die Info.
Da hast Du aber nach langer, langer, langer Zeit einen Bug gefunden
Sehe es als Kompliment für dich und dein Skript an

-
@robson Danke für die Info.
Da hast Du aber nach langer, langer, langer Zeit einen Bug gefunden
Habe das Blockly geändert und im ersten Post neu hinterlegt.
Hier die Änderung.

Grüße
-
Moin zusammen,
sagt mal wird der "rechte" Abschnitt benötigt?
was macht er in dem Skript?Beste Grüße
-
Ja,
wird benötigt.
Da steckt die haupt Funktion und Logik vom Skript drinnen.
Darauf greift der linke Teil während der Verarbeitung zu. -
Hallo
Manchmal ist es notwendig unliebsame Zeichen aus einem Text zu entfernen um diese z.B. in VIS vernünftig darstellen zu können.
Mit dem folgenden Blockly kann man jedes Zeichen, ganze Wörter oder eine Folge von Steuerzeichen gegen etwas anderes tauschen.Der von @robson gefundene Bug wurde behoben.

Hier der geänderte Export:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="xSVSX?qYBxERx4)1(5:3">originalText</variable> <variable id=";bO,k;{f-t4YW^V4Yaby">suchText</variable> <variable id="=KxFmb,!C-6!HK%6iSz4">tauschText</variable> <variable id="pF_ac~cY~|C(S.I!U%Uu">MeinText</variable> <variable id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</variable> <variable id="P8$b81v9fsrHHrb+z]g1">Text</variable> <variable id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</variable> <variable id="I;i^c)UORMgY^LOatF[8">neuerText</variable> <variable id="6,6h67!#*?Hh,1(Sy,@u">AnzZeichenSuchtext</variable> <variable id="(NMF97xgk;{xp~AH$Ln*">Stelle</variable> </variables> <block type="comment" id="?t^|J^}%io+OnqAwVT4A" x="-237" y="-87"> <field name="COMMENT">Beliebige Zeichen tauschen</field> <next> <block type="variables_set" id="-P{_[1=caHEAoB9cP4Qx"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> <value name="VALUE"> <block type="text" id="]-v|)OoSpw-K*Z-|~Z|L"> <field name="TEXT">Dieser Text müßte geändert werden.</field> </block> </value> <next> <block type="controls_if" id="eO-Yu;zv=:r~yJNHR:iS"> <value name="IF0"> <block type="logic_negate" id="u@28{:]xG=4a9HU}|/v)"> <value name="BOOL"> <block type="text_isEmpty" id="W-_T.2)lUsLG/Z(5zIQN"> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="9LrDM?0xYv?MX-(}2OrI"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="B?L(8|(8?-Z7Ao*[F/VM"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="ziw)~y|7*7le5/J*8HC#"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="ECH/%?YEFylSUOK._8/K"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="Y(bM=~D[D5v)7a#1{`}`"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> </block> </value> <value name="ARG1"> <block type="text" id="(iqf|@QE;6:tP0}rbaEj"> <field name="TEXT">ü</field> </block> </value> <value name="ARG2"> <block type="text" id="_{HiLh|2|F3|a#[4lCvX"> <field name="TEXT">ue</field> </block> </value> </block> </value> <next> <block type="variables_set" id="`vGUP!R!*|3sjY~dZXxZ"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="rvKR.cz9FhImw~YT8:YY"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="4r-=T6yu%Y[}Zn!QhpR/"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> </block> </value> <value name="ARG1"> <block type="text" id="mbk@+N`6F_eG)N%Jw|2J"> <field name="TEXT">ä</field> </block> </value> <value name="ARG2"> <block type="text" id="OtGH;LSHf;*t,59fJ)5i"> <field name="TEXT">ae</field> </block> </value> </block> </value> <next> <block type="variables_set" id="3+|QU5[xS;U@Qijfuu@7"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> <value name="VALUE"> <block type="procedures_callreturn" id="~C~TrH*=xX3Xl-l@tg#V"> <mutation name="changeText"> <arg name="originalText"></arg> <arg name="suchText"></arg> <arg name="tauschText"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id=",eH?bND1?H}TimRX_wnz"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> </block> </value> <value name="ARG1"> <block type="text" id="6AWuk;A#5~8;jXas31)I"> <field name="TEXT">ß</field> </block> </value> <value name="ARG2"> <block type="text" id="[M[ZL8Y,u8fNWw|eR|g)"> <field name="TEXT">ss</field> </block> </value> </block> </value> <next> <block type="debug" id="g8IUrYe_.rei!S6]Mc?a"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="d7HPm]yEeu9+?9HT0u|l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="^/WzSct]9kWQNOvtqOg/"> <field name="VAR" id="pF_ac~cY~|C(S.I!U%Uu">MeinText</field> </block> </value> <next> <block type="debug" id="Hme!w3Ag?_DUH%uRzR)U"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="d7HPm]yEeu9+?9HT0u|l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="`v3q2Xw=qC`r6)o/kUEY"> <field name="VAR" id="I;i^c)UORMgY^LOatF[8">neuerText</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> <block type="procedures_defreturn" id="*?%n[KG5e1!^tNun#Hj5" x="288" y="-87"> <mutation> <arg name="originalText" varid="xSVSX?qYBxERx4)1(5:3"></arg> <arg name="suchText" varid=";bO,k;{f-t4YW^V4Yaby"></arg> <arg name="tauschText" varid="=KxFmb,!C-6!HK%6iSz4"></arg> </mutation> <field name="NAME">changeText</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id=",*Bi*dYY8!8mI7(mg9V."> <field name="VAR" id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</field> <value name="VALUE"> <block type="text" id="|BZm+^ZNZWW}2Oo#`j;?"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="w]M[kO6!;:DS!~0O}SHV"> <field name="VAR" id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</field> <value name="VALUE"> <block type="text" id="LK!;|?K5!yeQYlUax(!P"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="LyZ2%lYW+kfm,4)yV8UN"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> <value name="VALUE"> <block type="variables_get" id="da5*p]}sO:{{|ZE!nhDe"> <field name="VAR" id="xSVSX?qYBxERx4)1(5:3">originalText</field> </block> </value> <next> <block type="variables_set" id="yx;qp1@1fC(oiG4c5gZt"> <field name="VAR" id="6,6h67!#*?Hh,1(Sy,@u">AnzZeichenSuchtext</field> <value name="VALUE"> <block type="text_length" id="Jwz33ARDLc!=8:eDagDD"> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="RZWm!~Yo4w5)66Gu|Gs_"> <field name="TEXT">abc</field> </shadow> <block type="variables_get" id="G2I+np)5qee]q{4)BlN2"> <field name="VAR" id=";bO,k;{f-t4YW^V4Yaby">suchText</field> </block> </value> </block> </value> <next> <block type="variables_set" id="eAGK[85W)DRaIaN!oMiH"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> <value name="VALUE"> <block type="text_indexOf" id="/@rj}{;VUCJ8O|28^(Hf"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="}de%ffO*rIt%j6)99pf3"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="7MprEQxoWq}#3~Xz:32k"> <field name="TEXT">%0D%0A</field> </shadow> <block type="variables_get" id="7)r.X1a~Tee1!dAwZy`!"> <field name="VAR" id=";bO,k;{f-t4YW^V4Yaby">suchText</field> </block> </value> </block> </value> <next> <block type="controls_whileUntil" id="4lR}{f])DWKyjt}.(6cc"> <field name="MODE">WHILE</field> <value name="BOOL"> <block type="logic_compare" id="e`eUWK6kyOU=[/x]M({`"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="}7HLWRwI(SDg1^@=czoV"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <block type="math_number" id="#y,za{r#@s7Ri.U!9v)A"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO"> <block type="comment" id="38%#2?@btrH6%hebNg3_"> <field name="COMMENT">Wenn nicht erste Zeichen im Text!</field> <next> <block type="controls_if" id="R]}Pl(*eeA:Dh@;{q_CH"> <value name="IF0"> <block type="logic_compare" id="l,u?h{)Z-u/OozI,.79G"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="B/K~z.ANK2);I3(uk4Bh"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <block type="math_number" id="|3~K:6jrHq7oxz=fL:Yz"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="{R*X,7K)DA^dq/.~KK7{"> <field name="VAR" id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</field> <value name="VALUE"> <block type="text_getSubstring" id="Img0opt.EB#)RM-bp~hw"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="A9h*F{tgJR0y[Q0uv7,="> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="([5R[:8Ywn-thKN@r:~}"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="u@:!j5WimCjV%fG9hPGs"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="U0qw,~,2KoaAc37UO{l#"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <shadow type="math_number" id="DT#zRSRu1.y^|5Z#G37W"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> </block> </statement> <next> <block type="variables_set" id="Else^,?QE9TTS.Y%K]W="> <field name="VAR" id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</field> <value name="VALUE"> <block type="text_getSubstring" id="e8A7NqY7O!@K(aFlMpV#" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="variables_get" id="|jU0g8+eIgwn_|IB56)@"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="F#*%;R9ugmwaaas?WBwG"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="8/I%=/~YReHV]Iwo{}(J"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="R0|a}kx2M~SYjPKS5Cc{"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=";Q(aJ::90?0?H;-45cgS"> <field name="NUM">0</field> </shadow> <block type="variables_get" id="dY33=1IVxkrSH1k1#X6A"> <field name="VAR" id="6,6h67!#*?Hh,1(Sy,@u">AnzZeichenSuchtext</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="OcJS!-Ku1vQY4)I+r,gc"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> <value name="VALUE"> <block type="text_join" id="%%D@nUqB1tt^`?qrUahx"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="q]l%0Dpb89BZy1-m[TjM"> <field name="VAR" id="Uf:U=$(.HDJ72/VPr1!o">Teil_1</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="f~POFU0}K4-w]xVc1?,`"> <field name="VAR" id="=KxFmb,!C-6!HK%6iSz4">tauschText</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="U77~u,Qfmb2g[O19eHoh"> <field name="VAR" id="g[0H+Z8J_%|p]v;tR.p.">Teil_2</field> </block> </value> </block> </value> <next> <block type="variables_set" id="lao?KUxF77Si~Xc2j%^{"> <field name="VAR" id="(NMF97xgk;{xp~AH$Ln*">Stelle</field> <value name="VALUE"> <block type="text_indexOf" id="[),PN,ZrAW,C/~:K[x[:"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="6{t:BeVh6=bsQF(zUhYG"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="{Vd/Su8uk@lo|:3KMi1L"> <field name="TEXT">%0D%0A</field> </shadow> <block type="variables_get" id="r|~fKkGR#@1@G6_GX`-g"> <field name="VAR" id=";bO,k;{f-t4YW^V4Yaby">suchText</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="RETURN"> <block type="variables_get" id=".*DA-:q/GzURSEPH2ZiQ"> <field name="VAR" id="P8$b81v9fsrHHrb+z]g1">Text</field> </block> </value> </block> </xml>Bei Fragen, fragen.
Grüße
Danke, hat mir sehr geholfen!
-
Danke, hat mir sehr geholfen!
Hi,
ich finde das Skript ja cool und hätte es wahrscheinlich nicht hinbekommen. Da hat jemand richtig Arbeit reingesteckt.
Ich habe mich auch schon geärgert, dass das nicht im Blockly abgebildet ist, insb. da Javascript das als Boardmittel mitbringt (wie eigentlich jede Programmiersprache).Hier mal ein Link wie ich das gemacht habe:
https://forum.iobroker.net/topic/47645/replace-funktion-in-blockly?_=1637252488203Vielleicht auch ein Ansatz für den ein oder anderen
Andreas
-
Hi,
ich finde das Skript ja cool und hätte es wahrscheinlich nicht hinbekommen. Da hat jemand richtig Arbeit reingesteckt.
Ich habe mich auch schon geärgert, dass das nicht im Blockly abgebildet ist, insb. da Javascript das als Boardmittel mitbringt (wie eigentlich jede Programmiersprache).Hier mal ein Link wie ich das gemacht habe:
https://forum.iobroker.net/topic/47645/replace-funktion-in-blockly?_=1637252488203Vielleicht auch ein Ansatz für den ein oder anderen
Andreas
@randyandy sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
Hi,
ich finde das Skript ja cool und hätte es wahrscheinlich nicht hinbekommen. Da hat jemand richtig Arbeit reingesteckt.
Ich habe mich auch schon geärgert, dass das nicht im Blockly abgebildet ist, insb. da Javascript das als Boardmittel mitbringt (wie eigentlich jede Programmiersprache).Ist schon einige Zeit her. Damals gab es noch keinen Js-Block.
Rantanplan
CCU3 / MS Server 2019(VM) / Scripten mit Blockly
-
@randyandy sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
Hi,
ich finde das Skript ja cool und hätte es wahrscheinlich nicht hinbekommen. Da hat jemand richtig Arbeit reingesteckt.
Ich habe mich auch schon geärgert, dass das nicht im Blockly abgebildet ist, insb. da Javascript das als Boardmittel mitbringt (wie eigentlich jede Programmiersprache).Ist schon einige Zeit her. Damals gab es noch keinen Js-Block.
Alles gut, wie gesagt finde es ja cool das man es überhaupt mit Blockly programmiert bekommt. Keine Frage: Hut ab für das Skript.
Und vielleicht braucht man (hoffentlich) irgendwann meine Krücke auch nicht mehr. Eigentlich gehört dies Funktion ins Blockly, alles andere ist Murks.Andreas
-
Alles gut, wie gesagt finde es ja cool das man es überhaupt mit Blockly programmiert bekommt. Keine Frage: Hut ab für das Skript.
Und vielleicht braucht man (hoffentlich) irgendwann meine Krücke auch nicht mehr. Eigentlich gehört dies Funktion ins Blockly, alles andere ist Murks.Andreas
@randyandy sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
@rantanplan
Und vielleicht braucht man (hoffentlich) irgendwann meine Krücke auch nicht mehr. Eigentlich gehört dies Funktion ins Blockly, alles andere ist Murks.Andreas
Alles gut. Bin ganz Deiner Meinung.
Ist aber leider so, dass hier Blockly ganz, ganz,.... zuletzt kommt.Grüße
Rantanplan
CCU3 / MS Server 2019(VM) / Scripten mit Blockly
-
Hallo,
ich habe glaube noch einen Bug im Skript gefunden.
Ich habe einen Text wo nach dem Komma die Leerstellen fehlen (Wird so von einem Adapter geliefert.).
Habe mir also gedacht ich suche nach "," und ersetze es mit ", ".
Leider führt dieser Vorgang zum Absturz der Javascript Instanz.
