Strip control codes and extended characters from a string: Difference between revisions

Added solution for Action!
m (→‎{{header|8086 Assembly}}: added a version that only strips control codes)
(Added solution for Action!)
Line 110:
abcdefÉ
abcdef
</pre>
 
=={{header|Action!}}==
<lang Action!>BYTE FUNC IsAscii(CHAR c)
IF c<32 OR c>124 OR c=96 OR c=123 THEN
RETURN (0)
FI
RETURN (1)
 
PROC Strip(CHAR ARRAY src,dst)
CHAR c
BYTE i
 
dst(0)=0
FOR i=1 TO src(0)
DO
c=src(i)
IF IsAscii(c) THEN
dst(0)==+1
dst(dst(0))=c
FI
OD
RETURN
 
PROC Main()
CHAR ARRAY
src(20)=[16 0 16 96 123 'a 'b 'c 131 27 30 '1 '2 '3 4 1 20],
dst(20)
 
PrintF("Original string: ""%S""%E",src)
Strip(src,dst)
PrintF("Stripped string: ""%S""%E",dst)
RETURN</lang>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Strip_control_codes_and_extended_characters_from_a_string.png Screenshot from Atari 8-bit computer]
<pre>
Original string: "♥♣♦♠abc┘←123┤├●"
Stripped string: "abc123"
</pre>
 
Anonymous user