COURS JavaScript


Accueil | Les éléments de base du langage JavaScript | Travail sur les chaînes de caractères :

Travail sur les chaînes de caractères (quatrième partie)


Généralités

Pour pouvoir profiter valablement de cette leçon, il est préférable d'abord avoir vu la première partie, la deuxième partie et la troisième partie, de cette leçon. Ensuite, vous comprendrez mieux ce que nous allons dire.



Les autres fonctions de manipulation des chaînes de caractères

Nous allons voir ici, comment travailler sur le contenu de la chaîne, élément (caractère) par élément. Nous allons apprendre à voir quel est le caractère positionné à une place particulière dans la chaîne de caractère examinée.

Méthodes de manipulation des chaînes de caractères :



Quel est le caractère qui occupe une position particulière dans la chaîne.

Comme d'habitude (je vous le recommande) pour pouvoir travailler correctement sur une chaîne de caractères, il faut la mettre dans une variable. Prenons toujours le même exemple :

MonNom = "Philippe Médan"

MonNom est la variable. Son contenu est : Philippe Médan (placé entre guillemets, pour bien montrer que c'est une chaîne de caractères).

Nous avons déjà dit que JavaScript considère une chaîne de caractères (un objet de type "String") comme une suite d'éléments (les caractères de la chaîne) et qu'ils les range (ces éléments) dans un vecteur d'une manière transparente pour nous. Mais il le fait bien quand même, soyez rassurés. En fait, si nous illustrons notre exemple et que nous représentions schématiquement comment fait JavaScript, nous aurions une vue qui ressemblerait à ceci : Le vecteur s'appelle MonNom

Index
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Contenu
P
h
i
l
i
p
p
e
 
M
é
d
a
n

Notez toujours (c'est vraiment important) que le premier poste de la table porte l'index 0. Et nous avons bien 14 éléments.

En fait, la fonction .charAt(position) va nous permettre de savoir (dans la chaîne principale MonNom) quel est le caractère qui occupe le poste "position" dans la chaîne. Nous récupérerons alors le résultat dans une variable de notre cru, par exemple quiEst.
Pour bien comprendre comment fonctionne cette extraction de caractère, prenons des exemples : par exemple, recherchons quel est le caractère qui occupe la position 4 dans MonNom .
Nous écrirons :

quiEst = MonNom.charAt(4)

Nous récupérerons alors la valeur "i", puisque c'est la lettre "i" qui occupe le poste d'index 4 (mais qui se trouve en cinquième position) dans la chaîne de caractères MonNom. ATTENTION : on part toujours de "0" pour le premier poste de notre Table. Ne jamais oublier ce décalage !!!

Bien entendu, la position peut elle aussi être mise dans une variable, par exemple la variable position . Dans ce cas, nous écrirons :

position = 4;

quiEst = MonNom.charAt(position) ;

Ce qui revient exactement au même.

ATTENTION :
Si par hasard, la position recherchée n'existe pas dans la chaîne principale, le résultat renvoyé est "", la chaîne vide. Ce qui paraît assez normal en quelque sorte. Pour une fois que c'est à peu prés logique :-)

Pour bien comprendre comment tout ceci fonctionne, utilisez l'exemple interactif ci-dessous.
Tapez (ou laissez la valeur actuelle) une valeur dans le champ de la chaîne principale, tapez une position dans le champ sous-chaîne recherchée, et cliquez sur le bouton "Voir le caractère occupant cette position". En prenant diverses valeurs de l'une et de l'autre, vous comprendrez mieux le fonctionnement.

Chaîne principale MonNom

Position recherchée position


Quelle est la sous-chaîne qui est comprise entre deux positions dans une chaîne de caractères.

Nous pouvons aussi regarder quelle est la sous-chaîne qui est comprise entre deux positions dans une chaîne de caractères. En fait, quelle est la sous-chaîne comprise entre le poste 1 et le poste 2 dans une chaîne. . La fonction substring(position1, position2) permet de visualiser la sous-chaîne comprise entre les deux index position1 et position2. Nous écrirons alors :

var position1 = 5
var position2 = 10
var quiEst
quiEst = MonNom.substring(position1, position2)

Dans notre exemple, nous obtiendrons "ppe M". Comme vous le remarquez, le caractère occupant la position 10 n'est pas inclus dans la sous-chaîne. La fonction .substring(position1, position2) renvoie donc la sous-chaîne comprise entre la position 1 de la chaîne incluse, et la position 2 de la chaîne excluse. Ce qui fait bien 5 caractères en fait, la différence entre 10-5. Toujours parce que JavaScript commence ses tables à la position 0. Ne l'oubliez JAMAIS !

Pour illustrer ce fonctionement, entrez (ou laissez telle quelle ci-dessous dans l'exemple interactif), la chaîne principale dans le champ "Chaîne principale", donnez différentes valeurs à poistion1 et position2 dans les champs correspondants, et cliquez sur le bouton "Voir la sous-chaîne" pour voir le résultat. Vous comprendrez alors mieux le fonctionnement.

 

Chaîne principale MonNom

Début de la sous-chaîne position1
Fin de la sous-chaîne position2

 

ATTENTION :
Si par hasard, les position que vous demandez n'existent pas (valeurs négatives par exemple) les extrémités de la chaîne seront prises par défaut.
De plus, si vous inversez l'ordre des positions (10 et 5 par exemple au lieu de 5 et 10), le résultat sera exactement le même.
RETENEZ Toujours que la chaîne commence à 0, et que dans la sous-chaîne, le premier caractère est inclus, et le dernier est exclus.

 

 


Concaténation des chaînes

Concaténer des chaînes de caractères veut tout simplement dire les mettre les unes au bout des autres. Comme toute chaîne (même des chaînes de vélos) on peut ouvrir un maillon, et le raccrocher à une autre chaîne. Pour les chaînes de caractères, c'est exactement a même chose. Le signe qui permet de faire cette merveille en JavaScript, est simplement le signe "+" (plus).

On peut concaténer une chaîne à une autre chaîne écrites toutes les deux entre guillement doubles :

"Philippe " + "Médan" donnera "Philippe Médan".

Mas on peut aussi mettre les chaînes dans des variables : chaine1 et chaine2 et écrire chaine1 + chaine2 :

var chaine1 = "Philippe ";
var chaine2 = "Médan";
var Resultat = chaine1 + chaine2;

dans Resultat il y aura la chaîne "Philippe Médan"

On peut aussi concaténer des variables et des chaînes écrites entre guillemets doubles :

var chaine1 = "Philippe ";
var Resultat = chaine1 + "Médan";

dans Resultat il y aura la chaîne "Philippe Médan"


Transformer une chaîne en nombre

Les chaînes de caractères, comme leur nom l'indique, sont des caractères, même si cette chaîne n'est constituée que de chiffres (0,1,2,3,4,5,6,7,8,9). Javascript ne tient pas compte de ce que réprésentent les caractères. Du moment que c'est une chaîne de caractères, ils sont considérés comme des lettres, et en tant que tels, il n'est pas possible d'effectuer des opérations dessus.

Pour remédier à cet inconvénient, il existe une fonction : parseInt(chaine) qui renvoie le nombre correspondant à la suite des chiffres de la chaîne. On peut écrire :

parseInt("123") ce qui renverra le nombre 123 et non plus la chaîne de caractères "123". Comme d'habitude, on peut mettre la chaîne dans une variable et écrire :

var chaine1 = "123";
parseInt(chaine1) ce qui renverra le aussi nombre 123 et non plus la chaîne de caractères "123".

ATTENTION :
Si par hasard, la chaîne ne contient pas que des chiffres, le résultat peut prendre des formes pour le moins bizarrezes.

 



Ce cours est enseigné par Philippe Médan 
dans le cadre de la formation des professionnels de l'INTERNET.
au CREFAC , 14 rue Scandicci, 93000 Pantin. Tél. : 01 48 46 51 99
au GITA-GRETA , Lycée Technologique Diderot 61, rue David D'Angers 75019 Paris Tél. : 01 40 40 36 27
au CESI à l'Ecole des ingénieurs, 116 Av Aristide Briand, BP 57, 92224 Bagneux CEDEX Tél. : 01 45 36 70 00
au CFA-AFIA Centre de Formation par l'Apprentissage spécialisé en Informatique DUT Licence MIAGE,
PUIO - Bâtiment 640 - Plateau du Moulon - 91405 Orsay Tél. : 01 69 15 35 19.

© Philippe Médan 1999-2007. Tous droits de reproduction réservés pour tous pays.