Les chaînes de caractères

Définition

Pour définir une variable qui contient une chaîne de caractères il faut encadrer le texte par des apostrophes (single quote) ou des guillemets (double quote) :

Les deux déclarations suivantes sont équivalentes :

Accès aux caractères de la chaîne

Dans une chaîne de caractères les positions des caractères sont numérotées en commençant à 0. Ainsi le premier caractère est en position 0, le second en position 1, etc.

Dans un programme, il est possible d'accéder à chaque caractère de la chaîne en indiquant sa position comme dans l'exemple suivant :

var nom=prompt("Entrez vote prénom");

print("La première lettre de votre prénom est : ");

println(nom[0]);

Exécuter

Comment cela fonctionne-t-il ?

La première lettre de la chaîne de caractères est numérotée 0. Pour y accéder nous écrivons : nom[0].

De façon générale, pour accéder au caractère qui figure à une position donnée, il faut écrire le nom de la variable qui contient la chaîne de caractères suivi du numéro de la position entre crochets.

Nombre de caractères dans une chaîne

Une chaîne de caractères est un objet du langage JavaScript, c'est à dire qu'en plus de stocker les caractères, une chaîne de caractères contient des propriétés et des méthodes.

Par exemple, il existe une propriété qui indique le nombre de caractères de la chaîne, cette propriété s'appelle length.

Observez comment nous utilisons la propriété length dans le programme suivant :

var nom=prompt("Entrez vote prénom");

print("Votre prénom comporte ");

print(nom.length);

println(" caractères.");

Exécuter

Comment cela fonctionne-t-il ?

Pour accéder à la propriété length de la chaîne de caractères nous écrivons : nom.length

Notez bien que nom.length est un nombre.

De manière générale, pour accéder à une propriété d'un objet il faut écrire le nom de la variable qui contient l'objet et accoler un point suivi du nom de la propriété.

Exercice

Ecrire un programme qui demande à l'utilisateur de saisir son prénom et qui affiche toutes les lettres l'une en dessous de l'autre.

JS Bin

Concaténation

La concaténation de deux (ou plusieurs) chaînes de caractères consiste tout simplement à les mettre bout à bout.

Cette action correspond à l'addition des chaînes comme dans l'exemple de programme ci-dessous :

var prenom=prompt("Entrez votre prénom :");

var nom=prompt("Entrez votre nom :");

println("Bonjour "+prenom+" "+nom+" !");

Exécuter

Comment cela fonctionne-t-il ?

Pour afficher le message, plutôt que d'écrire plusieurs instructions print successives, nous utilisons l'opération d'addition sur les chaînes de caractères : les différents éléments sont ainsi mis bout à bout.

Notez bien la présence d'espaces pour éviter d'avoir des mots collés.

Exercice

Voici un « squelette de programme » :

var chaine="";

var n=parseInt(prompt("Nombre de répetitions ?"));

...

println(chaine);

Ce programme demande la saisie d'un nombre, la chaîne de caractères entrée par l'utilisateur est convertie en nombre entier en utilisant l'instruction parseInt. C'est la variable n qui reçoit ce nombre.

Compléter le programme pour qu'il affiche le mot « ISN » le nombre de fois spécifié par l'utilisateur. Vous n'avez pas le droit d'utiliser les instuctions print ou println, vous devez faire en sorte que la variable chaine contienne le texte final à afficher.

JS Bin

Méthodes de l'objet String

Dans le vocabulaire du programmeur JavaScript, une chaîne de caractères est un objet String et comme nous l'avons indiqué plus haut, il contient plusieurs méthodes.

Ces méthodes permettent pour la plupart d'obtenir de nouvelles chaînes de caractères construites à partir de la chaîne initiale.

Supposons que maChaine soit une variable de type chaîne de caractères, le tableau ci-dessous montre quelques méthodes :

InstructionSignification
maChaine.toLowerCase()donne la chaîne avec toutes les lettres en minuscule
maChaine.toUpperCase()donne la chaîne avec toutes les lettres en majuscule
maChaine.trim()donne la chaîne avec les espaces éventuels en début et fin supprimés
maChaine.substring(a,b)donne la chaîne de caractères entre les positions a et b, position b exclue
maChaine.indexOf("toto")donne la position de la première occurrence de "toto"

Exercice

Testez les différentes méthodes indiquées dans le tableau ci-dessus.

JS Bin