Split a character string based on change of character: Difference between revisions

Add Forth solution
(Added C# implementation)
(Add Forth solution)
Line 330:
output string: g, HHH, 5, YY, ++, ///, \
</pre>
 
=={{header|Forth}}==
{{works with|Gforth|0.7.3}}
<lang Forth>CREATE A 0 ,
: C@A+ A @ C@ [ 1 CHARS ]L A +! ;
: SPLIT. ( c-addr u --) SWAP A ! A @ C@
BEGIN OVER WHILE
C@A+ TUCK <> IF ." , " THEN
DUP EMIT SWAP 1- SWAP
REPEAT DROP ;
: TEST OVER OVER
." input: " TYPE CR
." split: " SPLIT. CR ;
s" gHHH5YY++///\" TEST
s" gHHH5 ))YY++,,,///\" TEST
BYE</lang>
{{out}}
<pre>input: gHHH5YY++///\
split: g, HHH, 5, YY, ++, ///, \
input: gHHH5 ))YY++,,,///\
split: g, HHH, 5, , )), YY, ++, ,,,, ///, \</pre>
 
=={{header|Fortran}}==
Anonymous user