Split a character string based on change of character: Difference between revisions
Content added Content deleted
No edit summary |
(Added solution for Action!) |
||
Line 221: | Line 221: | ||
</lang> |
</lang> |
||
{{Output}}<pre> gg, HHH, 5, YY, ++, ///, \ </pre> |
{{Output}}<pre> gg, HHH, 5, YY, ++, ///, \ </pre> |
||
=={{header|Action!}}== |
|||
<lang Action!>PROC Split(CHAR ARRAY s) |
|||
BYTE i |
|||
CHAR curr,last |
|||
i=1 last=s(1) |
|||
Put('") |
|||
WHILE i<=s(0) |
|||
DO |
|||
curr=s(i) |
|||
IF curr#last THEN |
|||
Print(", ") |
|||
FI |
|||
Put(curr) |
|||
last=curr |
|||
i==+1 |
|||
OD |
|||
Put('") |
|||
RETURN |
|||
PROC Test(CHAR ARRAY s) |
|||
PrintF("Input: ""%S""%E",s) |
|||
Print("Split: ") Split(s) |
|||
PutE() PutE() |
|||
RETURN |
|||
PROC Main() |
|||
Test("gHHH5YY++///\") |
|||
Test("gHHH 5++,,,///\") |
|||
RETURN</lang> |
|||
{{out}} |
|||
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Split_a_character_string_based_on_change_of_character.png Screenshot from Atari 8-bit computer] |
|||
<pre> |
|||
Input: "gHHH5YY++///\" |
|||
Split: "g, HHH, 5, YY, ++, ///, \" |
|||
Input: "gHHH 5++,,,///\" |
|||
Split: "g, HHH, , 5, ++, ,,,, ///, \" |
|||
</pre> |
|||
=={{header|Ada}}== |
=={{header|Ada}}== |