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