Split a character string based on change of character: Difference between revisions
Split a character string based on change of character (view source)
Revision as of 23:20, 16 June 2024
, 12 days agoAdd Uiua
(Add Uiua) |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 318:
=={{header|Amazing Hopper}}==
VERSION 1: string
<syntaxhighlight lang="c">
#include <basico.h>
#define INICIO 1
#define CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\"+-/ \\:,;:_*"
algoritmo
objetivo = "gHHH5YY\"\"++ ///,,,\\", indice=0
largo=0, sublargo=0, v=0
#( largo = len(indice:=(onechar(CHARS,objetivo))) )
t=0, nuevo=""
para cada caracter ( v, indice, largo )
#(t = replicate(v, sublargo := ((poschar(INICIO, v, objetivo) - 1 ) ) ))
#(nuevo = cat( cat(nuevo, t), ", "))
objetivo+=sublargo
siguiente
nuevo -= 2
imprimir( "NEW STRING=\n", nuevo,NL)
terminar
</syntaxhighlight>
{{out}}
<pre>
$ hopper3 basica/splitrep.bas
NEW STRING=
g, HHH, 5, YY, "", ++, , ///, ,,,, \
</pre>
VERSION 2: arrays
<syntaxhighlight lang="c">
Line 323 ⟶ 357:
#define INICIO 1
#define CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\"+-/ \\:,;:_*"
algoritmo
objetivo = "gHHH5YY\"\"++ ///,,,,\\", indice=0
largo=0, sublargo=0, lista={}, v=0
Line 345 ⟶ 379:
{{out}}
<pre>
$ hopper3 basica/
LISTA=
g,HHH,5,YY,"",++, ,///,,,,,,\
</pre>
Line 2,789 ⟶ 2,823:
Second variant:
++, ///, 5, HHH, YY, \, g
</pre>
=={{header|Uiua}}==
{{works with|Uiua|0.11.1}}
<syntaxhighlight lang="uiua">
&p/$"_, _"⊜□+1⊸⊛ "gHHH5YY++///\\"
</syntaxhighlight>
{{out}}
<pre>
g, HHH, 5, YY, ++, ///, \
</pre>
Line 2,857 ⟶ 2,901:
=={{header|Wren}}==
<syntaxhighlight lang="
if (s.count == 0) return ""
var res = []
|