RosettaCodeData/Task/Strip-control-codes-and-extended-characters-from-a-string/BBC-BASIC/strip-control-codes-and-extended-characters-from-a-string.basic
2023-07-01 13:44:08 -04:00

27 lines
851 B
Text

test$ = CHR$(9) + "Fran" + CHR$(231) + "ais." + CHR$(127)
PRINT "Original ISO-8859-1 string: " test$ " (length " ; LEN(test$) ")"
test$ = FNstripcontrol(test$)
PRINT "Control characters stripped: " test$ " (length " ; LEN(test$) ")"
test$ = FNstripextended(test$)
PRINT "Control & extended stripped: " test$ " (length " ; LEN(test$) ")"
END
DEF FNstripcontrol(A$) : REM CHR$(127) is a 'control' code
LOCAL I%
WHILE I%<LEN(A$)
I% += 1
IF ASCMID$(A$,I%)<32 OR ASCMID$(A$,I%)=127 THEN
A$ = LEFT$(A$,I%-1) + MID$(A$,I%+1)
ENDIF
ENDWHILE
= A$
DEF FNstripextended(A$)
LOCAL I%
WHILE I%<LEN(A$)
I% += 1
IF ASCMID$(A$,I%)>127 THEN
A$ = LEFT$(A$,I%-1) + MID$(A$,I%+1)
ENDIF
ENDWHILE
= A$