Manipuler les chaînes de caractères
#1 Le type string et l'objet String
En JavaScript, les types de base comme number
, boolean
ou string
sont construits à partir d'objets. Le type string
auquel on s'intéresse dans ce tuto est construit à partir de l'objet String
(S Majuscule).
Le type string
possède toutes les propriétés et méthodes de l'objet String
. Pour déclarer une variable de type string
, faites comme ci-dessous :
Si vous avez appris un autre langage orienté objet, vous pourriez être tenté d'utiliser le constructeur String
pour créer vos chaînes. Ne le faites pas. Vous ne pourriez pas tester l'égalité entre vos chaînes.
- Prenez Sublime Text et créez un fichier
chaine.html
sur le bureau. - Faites
!>script
puistab
puis recopiez le programme ci-dessous entre les balisesscript
.
Ci-dessus, str1
et str2
sont allouées avec des simples quotes et sont de type string
. Elles peuvent être comparées en utilisant l'opérateur ==
ou mieux avec le ===
.
str3
et str4
ont été allouées avec le constructeur String
. Les deux variables sont de type object
et sont donc des pointeurs. La comparaison n'aura pas le sens d'un test d'égalité entre les chaînes contenues dans les objets.
#2 La propriété length
La propriété length
a la valeur de la longueur de la chaîne. Vous pouvez l'appliquer sur une variable de type string
ou directement sur une chaîne.
#3 La méthode charAt()
Extrait le caractère qui se trouve à la position pos
de la chaîne de caractères.
Syntaxe
Paramètre
pos
est un entier de type number
compris entre 0
et length-1
.
Valeur retournée
car
Une chaîne de type string
contenant un seul caractère si pos
est dans l'intervalle [0,length-1]
et une chaîne vide sinon.
Si aucun paramètre d'appel est fourni, c'est le premier caractère qui est retourné.
Exemples
#4 La méthode indexOf()
Recherche la position de la première occurrence d'une sous-chaîne dans une chaîne. La recherche commence à partir du début de la chaîne ou de la position donnée par le deuxième paramètre d'appel qui est optionnel.
Syntaxe
Paramètres
sousChaine
est de type string
.
debut
est un entier de type number
(optionnel).
Valeur retournée
position
un entier de type number
qui correspond à la position du premier caractère de sousChaine
.
L'entier -1
est retourné si la sousChaine
n'est pas trouvée.
Exemples
Tester le code#5 La méthode slice()
Extrait une sous-chaîne d'une chaîne.
Syntaxe
Paramètres
indexDebut
index du début de la chaîne à extraire.
indexFin
extrait jusqu'au caractère d'index indexFin
mais sans l'inclure.
S'il n'y a qu'un seul paramètre d'appel, c'est la fin de la chaîne de caractères qui est retournée en partant de indexDebut
.
Valeur retournée
Une nouvelle chaîne contenant la sous-chaîne extraite.
Exemples
Tester le code#6 La méthode substr()
Extrait une sous-chaîne en commençant à un index spécifié et d'une longueur également spécifiée.
Syntaxe
Paramètres
indexDebut
est un entier de type number
qui spécifie l'index du premier caractère à extraire. Si indexDebut
est négatif, on commence à compter à partir de la fin de la chaîne.
longueur
spécifie le nombre de caractères à extraire. Si longueur
n'est pas spécifiée, alors on extrait jusqu'à la fin de la chaîne.
#7 La méthode split()
Découpe une chaîne de caractères en sous-chaînes et les place dans un tableau. Il faut fournir une sous-chaîne qui sert de séparateur.
Syntaxe
tab = chaine.split([separateur[,limite]])
Paramètres
Les deux paramètres d'appel sont optionnels.
separateur
est une sous-chaîne de type string
ou une expression régulière
limite
est un entier de type number
qui spécifie le nombre maximum de sous-chaînes dans le tableau. Ce nombre peut ne pas être atteint.
Si aucun paramètre n'est fourni, la chaîne est découpée en un tableau de caractères.
Valeur retournée
tab
un tableau sous la forme d'un objet Array()
.
Exemples
Tester le code