JavaScript Méthodes de chaîne
Les méthodes de chaîne vous aident à travailler avec des chaînes.
Méthodes et propriétés de chaîne
Les valeurs primitives, comme « John Doe », ne peuvent pas avoir de propriétés ou de méthodes (car ce ne sont pas des objets).
Mais avec JavaScript, les méthodes et les propriétés sont également disponibles pour les valeurs primitives, car JavaScript traite les valeurs primitives comme des objets lors de l'exécution des méthodes et des propriétés.
Longueur de la chaîne JavaScript
La propriété length
renvoie la longueur d'une chaîne :
Extraction de parties de chaîne
Il existe 3 méthodes pour extraire une partie d'une chaîne :
slice(start, end)
substring(start, end)
substr(start, length)
JavaScript String slice()
slice()
extrait une partie d'une chaîne et renvoie la partie extraite dans une nouvelle chaîne.
La méthode prend 2 paramètres : la position de départ et la position de fin (fin non incluse).
Exemple
Découpez une portion d'une chaîne de la position 7 à la position 13 (13 non incluse) :
let str = "Apple, Banana, Kiwi";
let part = str.slice(7, 13);
Try it Yourself »
Remarque
JavaScript compte les positions à partir de zéro.
La première position est 0.
La deuxième position est 1.
Si un paramètre est négatif, la position est comptée à partir de la fin de la chaîne.
Cet exemple découpe une partie d'une chaîne de la position -12 à la position -6 :
Si vous omettez le deuxième paramètre, la méthode découpera le reste de la chaîne :
ou, en comptant à partir de la fin :
JavaScript String substring()
substring()
est similaire à slice()
.
La différence est que les valeurs de début et de fin inférieures à 0 sont traitées comme 0 dans substring()
.
Si vous omettez le deuxième paramètre, substring()
découpera le reste de la chaîne.
JavaScript String substr()
substr()
est similaire à slice()
.
La différence est que le deuxième paramètre spécifie la longueur de la partie extraite.
Si vous omettez le deuxième paramètre, substr()
découpera le reste de la chaîne.
Si le premier paramètre est négatif, la position compte à partir de la fin de la chaîne.
Remplacement du contenu d'une chaîne
La méthode replace()
remplace une valeur spécifiée par une autre valeur dans une chaîne :
Exemple
let text = "Please visit Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");
Try it Yourself »
Remarque
La méthode replace()
ne modifie pas la chaîne sur laquelle elle est appelée.
La méthode replace()
renvoie une nouvelle chaîne.
La méthode replace()
remplace uniquement la première correspondance
Si vous souhaitez remplacer toutes les correspondances, utilisez une expression régulière avec l'indicateur /g défini. Voir les exemples ci-dessous.
Par défaut, la méthode replace()
remplace uniquement la première correspondance :
Exemple
let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");
Try it Yourself »
Par défaut, la méthode replace()
est sensible à la casse. L'écriture de MICROSOFT (avec des majuscules) ne fonctionnera pas :
Exemple
let text = "Please visit Microsoft!";
let newText = text.replace("MICROSOFT", "W3Schools");
Try it Yourself »
Pour remplacer l'insensible à la casse, utilisez une expression régulière avec un indicateur /i
(insensible):
Exemple
let text = "Please visit Microsoft!";
let newText = text.replace(/MICROSOFT/i, "W3Schools");
Try it Yourself »
Remarque
Les expressions régulières sont écrites sans guillemets.
Pour remplacer toutes les correspondances, utilisez une expression régulière avec un indicateur /g
(correspondance globale) :
Exemple
let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace(/Microsoft/g, "W3Schools");
Try it Yourself »
Remarque
Vous en apprendrez beaucoup plus sur les expressions régulières dans le chapitre Expressions régulières JavaScript.
Conversion en majuscules et minuscules
Une chaîne est convertie en majuscules avec toUpperCase()
:
Une chaîne est convertie en minuscules avec toLowerCase()
:
Chaîne JavaScript toUpperCase()
Chaîne JavaScript toLowerCase()
Exemple
let text1 = "Hello World!"; // Chaîne
let text2 = text1.toLowerCase(); // text2 est text1 converti en inférieur
Try it Yourself »
Concat() de chaîne JavaScript
concat()
joint deux ou plusieurs chaînes :
Exemple
let text1 = "Hello";
let text2 = "World";
let text3 = text1.concat(" ", text2);
Try it Yourself »
La méthode concat()
peut être utilisée à la place de l'opérateur plus. Ces deux lignes font la même chose :
Exemple
text = "Hello" + " " + "World!";
text = "Hello".concat(" ", "World!");
Remarque
Toutes les méthodes de chaîne renvoient une nouvelle chaîne. Elles ne modifient pas la chaîne d'origine.
Formellement dit :
Les chaînes sont immuables : elles ne peuvent pas être modifiées, mais seulement remplacées.
JavaScript String trim()
La méthode trim()
supprime les espaces des deux côtés d'une chaîne :
Remplissage de chaîne JavaScript
ECMAScript 2017 a ajouté deux méthodes de chaîne : padStart()
et padEnd()
pour prendre en charge le remplissage au début et à la fin d'une chaîne.
JavaScript String padStart()
La méthode padStart()
complète une chaîne avec une autre chaîne :
Remarque
La méthode padStart()
est une méthode de chaîne.
Pour compléter un nombre, convertissez d'abord le nombre en chaîne.
Voir l'exemple ci-dessous.
Exemple
let numb = 5;
let text = numb.toString();
let padded = text.padStart(4,"0");
Try it Yourself »
Prise en charge du navigateur
padStart()
est une fonctionnalité ECMAScript 2017.
Elle est prise en charge dans tous les navigateurs modernes :
Chrome | Edge | Firefox | Safari | Opera |
Oui | Oui | Oui | Oui | Oui |
padStart()
n'est pas pris en charge dans Internet Explorer.
JavaScript String padEnd()
La méthode padEnd()
remplit une chaîne avec une autre chaîne :
Remarque
La méthode padEnd()
est une méthode de chaîne.
Pour compléter un nombre, convertissez d'abord le nombre en chaîne.
Voir l'exemple ci-dessous.
Prise en charge du navigateur
padEnd()
est une fonctionnalité ECMAScript 2017.
Elle est prise en charge dans tous les navigateurs modernes :
Chrome | Edge | Firefox | Safari | Opera |
Oui | Oui | Oui | Oui | Oui |
padEnd()
n'est pas pris en charge dans Internet Explorer.
Extraction de caractères de chaîne
Il existe 3 méthodes pour extraire des caractères de chaîne :
charAt(position)
charCodeAt(position)
- Propriété access [ ]
Chaîne JavaScript charAt()
La méthode charAt()
renvoie le caractère à un index (position) spécifié dans une chaîne :
Chaîne JavaScript charCodeAt()
La méthode charCodeAt()
renvoie l'Unicode du caractère à un index spécifié dans une chaîne :
La méthode renvoie un code UTF-16 (un entier compris entre 0 et 65535).
Accès aux propriétés
ECMAScript 5 (2009) permet l'accès aux propriétés [ ] sur les chaînes :
Remarque
L'accès à la propriété peut être un peu imprévisible :
- Cela fait ressembler les chaînes à des tableaux (mais ce n'est pas le cas)
- Si aucun caractère n'est trouvé, [ ] renvoie undefined, tandis que charAt() renvoie une chaîne vide.
- Il est en lecture seule. str[0] = "A" ne donne aucune erreur (mais ne fonctionne pas !)
Exemple
let text = "HELLO WORLD";
text[0] = "A"; // Ne donne aucune erreur, mais ne fonctionne pas
Try it Yourself »
Conversion d'une chaîne en tableau
Si vous souhaitez travailler avec une chaîne sous forme de tableau, vous pouvez la convertir en tableau.
Chaîne JavaScript split()
Une chaîne peut être convertie en tableau avec la méthode split()
:
Exemple
text.split(",") // Séparer par des virgules
text.split(" ") // Diviser sur des espaces
text.split("|") // Séparation sur tuyau
Try it Yourself »
Si le séparateur est omis, le tableau renvoyé contiendra la chaîne entière dans l'index [0].
Si le séparateur est "", le tableau renvoyé sera un tableau de caractères uniques :
Référence complète des chaînes
Pour une référence complète des chaînes, rendez-vous sur notre :
Référence complète des chaînes JavaScript.
La référence contient des descriptions et des exemples de toutes les propriétés et méthodes de chaîne.