open

Manipuler les chaînes de caractères

#1 Le type string et l'objet String open

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 :

La console après déclaration d'une variable de type string

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.

La console après déclaration d'une variable avec le constructeur String

  1. Prenez Sublime Text et créez un fichier chaine.html sur le bureau.
  2. Faites !>script puis tab puis recopiez le programme ci-dessous entre les balises script.
Tester le code

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 open

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.

Tester le code

#3 La méthode charAt() open

Extrait le caractère qui se trouve à la position pos de la chaîne de caractères.

Syntaxe

car = chaine.charAt(pos)

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

Tester le code

#4 La méthode indexOf() open

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

position = chaine.indexOf(sousChaine[,debut]);

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() open

Extrait une sous-chaîne d'une chaîne.

Syntaxe

sousChaine = chaine.slice(indexDebut[,indexFin])

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.

Si 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 l'indexDebut.

Valeur retournée

Une nouvelle chaîne contenant la sous-chaîne extraite.

Exemples

Tester le code

#6 La méthode substr() open

Extrait une sous-chaîne en commençant à un index spécifié et d'une longueur également spécifiée.

Syntaxe

sousChaine = chaine.substr(indexDebut[longueur])

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.

Tester le code

#7 La méthode split() open

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