Manipulation de chaînes de caractères
Concepts de base
La manipulation de chaînes de caractères est très simple en BASIC. Nous avons déjà vu que le nom des variables de type « chaîne » se termine par le caractère $, et que l’affectation se fait par l’opérateur =. Par exemple :
A$="Bonjour"
Ok
PRINT A$
Bonjour
Ok
La concaténation utilise l’opérateur « + » (le même que pour l’addition de nombres) :
10 A$="Bonjour"
20 B$=A$ + " madame"
30 PRINT B$
RUN
Bonjour madame
Ok
PRINT A$ + A$
BonjourBonjour
OK
Pour connaître la longueur d’une chaîne de caractère, utilisez la fonction LEN qui renvoie un entier :
PRINT LEN(A$)
7
Ok
N% = LEN("Vive l'Apple II !")
Ok
PRINT N%
23
OK
Extraction de chaînes de caractères
Les fonctions RIGHT$, LEFT$ et MID$ permettent d’extraire une sous-chaîne d’une chaîne de caractères. Voici la syntaxe :
LEFT$(ch$,n)
Renvoie les n caractères les plus à gauche de ch$.
RIGHT$(ch$,n)
Renvoie les n caractères les plus à droite de ch$.
MID$(ch$,i[,n])
Renvoie une sous-chaîne de ch$ de longueur n en partant du ième caractère.
Si n est omis, la fonction renvoie une sous-chaîne du ième caractère jusqu'à la fin de la chaîne.
Voici quelques exemples :
A$="C64 versus Atari 800XL"
Ok
PRINT LEFT$(A$,3)
C64
Ok
PRINT RIGHT$(A$,11)
Atari 800XL
Ok
PRINT MID$(A$,12,5)
Atari
Ok
PRINT MID$(A$,12)
Atari 800XL
Ok
Conversion code ASCII – chaîne de caractères
Il est possible de convertir le code ASCII d’un caractère en chaîne et réciproquement, grâce aux commandes respectives CHR$ et VAL.
10 X$="A"
20 PRINT "Le code ASCII de ";X$;" est";ASC(X$)
30 M=66
40 PRINT M;"est le code ASCII de ";CHR$(M)
RUN
Le code ASCII de A est 65
66 est le code ASCII de B
Ok
Conversion nombre – chaîne de caractères
La fonction STR$ convertit un nombre en une chaîne de caractères, tandis que la fonction VAL effectue la conversion inverse.
