Méthodes de chaînes JavaScript

Les méthodes de chaîne vous aident à traiter les chaînes.

Méthodes et attributs de chaîne

Les valeurs primitives, comme "Bill Gates", ne peuvent pas avoir des propriétés et des méthodes (parce qu'elles ne sont pas des objets).

Mais par JavaScript, les méthodes et les attributs peuvent également être utilisés pour les valeurs primitives, car JavaScript considère les valeurs primitives comme des objets lors de l'exécution des méthodes et des attributs.

Longueur de la chaîne

length L'attribut retourne la longueur de la chaîne :

Exemple

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

Essayez-le vous-même

Recherchez une chaîne dans une chaîne

indexOf() La méthode retourne le texte spécifié dans la chaîne :premièreindex d'apparition (position) :

Exemple

var str = "Le nom complet de la Chine est la République populaire de Chine.";
var pos = str.indexOf("China");

Essayez-le vous-même

JavaScript compte les positions à partir de zéro.

0 est la première position de la chaîne, 1 est la deuxième, 2 est la troisième ...

lastIndexOf() La méthode retourne la position du texte spécifié dans la chaîne :dernierindex de la première apparition :

Exemple

var str = "Le nom complet de la Chine est la République populaire de Chine.";
var pos = str.lastIndexOf("China");

Essayez-le vous-même

si le texte n'est pas trouvé, indexOf() et lastIndexOf() toutes retournent -1.

Exemple

var str = "Le nom complet de la Chine est la République populaire de Chine.";
var pos = str.indexOf("USA");

Essayez-le vous-même

Les deux méthodes acceptent le second paramètre comme position de début de recherche.

Exemple

var str = "Le nom complet de la Chine est la République populaire de Chine.";
var pos = str.indexOf("China", 18);

Essayez-le vous-même

lastIndexOf() La méthode recherche vers l'arrière (de la fin vers le début), ce qui signifie : si le second paramètre est 50, la recherche commence à la position 50 jusqu'au début de la chaîne.

Exemple

var str = "Le nom complet de la Chine est la République populaire de Chine.";
var pos = str.lastIndexOf("China", 50);

Essayez-le vous-même

Recherchez une chaîne dans une chaîne

search() La méthode recherche une chaîne spécifique dans une chaîne et retourne la position correspondante :

Exemple

var str = "Le nom complet de la Chine est la République populaire de Chine.";
var pos = str.search("locate");

Essayez-le vous-même

Avez-vous remarqué cela ?

deux méthodes,indexOf() et search(), c'estÉgaux.

Ces deux méthodes ne sont pas égales. La différence réside dans :

  • La méthode search() ne peut pas définir un deuxième paramètre de début.
  • La méthode indexOf() ne peut pas définir des valeurs de recherche plus puissantes (expressions régulières).

Vous découvrirezExpression régulièrede cette section pour apprendre ces valeurs de recherche plus puissantes.

Extraire une partie de la chaîne de caractères

Il y a trois méthodes pour extraire une partie de la chaîne de caractères :

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

Méthode slice()

slice() Extraire une partie de la chaîne et renvoyer cette partie dans une nouvelle chaîne.

Cette méthode définit deux paramètres : l'index de départ (position de début), l'index de fin (position de fin).

Cet exemple coupe le segment de la chaîne de position 7 à la position 13 :

Exemple

var str = "Apple, Banana, Mango";
var res = str.slice(7,13);

Le résultat de res est :

Banana

Essayez-le vous-même

Si un paramètre est négatif, il est compté à partir de la fin de la chaîne.

Cet exemple coupe le segment de la chaîne de position -12 à la position -6 :

Exemple

var str = "Apple, Banana, Mango";
var res = str.slice(-13,-7);

Le résultat de res est :

Banana

Essayez-le vous-même

Si le deuxième paramètre est omis, cette méthode coupera la partie restante de la chaîne :

Exemple

var res = str.slice(7);

Essayez-le vous-même

Ou compter à partir de la fin :

Exemple

var res = str.slice(-13);

Essayez-le vous-même

Astuce :Les positions négatives ne sont pas applicables aux versions d'Internet Explorer 8 et antérieures.

Méthode substring()

substring() similaire à slice().

La différence réside dans substring() Ne peut pas accepter d'indices négatifs.

Exemple

var str = "Apple, Banana, Mango";
var res = str.substring(7,13);

Le résultat de res est :

Banana

Essayez-le vous-même

Si le deuxième paramètre est omis, cette substring() Coupe la partie restante de la chaîne.

Méthode substr()

substr() similaire à slice().

La différence réside dans le deuxième paramètre, qui détermine la partie extraite :Longueur.

Exemple

var str = "Apple, Banana, Mango";
var res = str.substr(7,6);

Le résultat de res est :

Banana

Essayez-le vous-même

Si le deuxième paramètre est omis, cette fonction substr() coupera la partie restante de la chaîne.

Exemple

var str = "Apple, Banana, Mango";
var res = str.substr(7);

Essayez-le vous-même

Le résultat de res est :

Banana, Mango

Si le premier paramètre est négatif, la position est calculée à partir de la fin de la chaîne.

Exemple

var str = "Apple, Banana, Mango";
var res = str.substr(-5);

Essayez-le vous-même

Le résultat de res est :

Mango

Le deuxième paramètre ne peut pas être négatif, car il définit la longueur.

Contenu de la chaîne de remplacement

replace() La méthode remplace une autre valeur par la valeur spécifiée dans une chaîne de caractères :

Exemple

str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3School");

Essayez-le vous-même

replace() La méthode ne change pas la chaîne appelante. Elle retourne une nouvelle chaîne.

Par défaut,replace() Ne remplace que la première correspondance:

Exemple

str = "Please visit Microsoft and Microsoft!";
var n = str.replace("Microsoft", "W3School");

Essayez-le vous-même

Par défaut,replace() C'est sensible à la casse. Par conséquent, il ne remplace pas la correspondance MICROSOFT :

Exemple

str = "Please visit Microsoft!";
var n = str.replace("MICROSOFT", "W3School");

Essayez-le vous-même

Pour effectuer un remplacement insensible à la casse, utilisez l'expression régulière /i(insensible à la casse) :

Exemple

str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");

Essayez-le vous-même

Veuillez noter que l'expression régulière n'est pas entre guillemets.

Pour remplacer toutes les correspondances, utilisez l'expression régulière g Drapeau (utilisé pour la recherche globale) :

Exemple

str = "Please visit Microsoft and Microsoft!";
var n = str.replace(/Microsoft/g, "W3School");

Essayez-le vous-même

Vous apprendrez plus sur les expressions régulières en JavaScript dans ce chapitre.Expression régulièredu contenu.

Conversion en majuscules et minuscules

Par toUpperCase() Convertir une chaîne en majuscules :

Exemple

var text1 = "Hello World!";       // chaîne
var text2 = text1.toUpperCase();  // text2 est la version en majuscules de text1

Essayez-le vous-même

Par toLowerCase() Convertir une chaîne en minuscules :

Exemple

var text1 = "Hello World!";       // chaîne
var text2 = text1.toLowerCase();  // text2 est la version en minuscules de text1

Essayez-le vous-même

Méthode concat()

concat() Connecter deux ou plusieurs chaînes :

Exemple

var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2);

Essayez-le vous-même

concat() Les méthodes peuvent être utilisées pour remplacer l'opérateur de concaténation. Les deux lignes suivantes sont équivalentes :

Exemple

var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ","World!");

Toutes les méthodes de chaîne retourneront une nouvelle chaîne. Elles ne modifieront pas la chaîne originale.

Formellement dit : une chaîne est immutable : une chaîne ne peut pas être modifiée, elle ne peut que être remplacée.

String.trim()

trim() La méthode supprime les espaces blancs à la fois à gauche et à droite de la chaîne :

Exemple

var str = "       Hello World!        ";
alert(str.trim());

Avertissement :Internet Explorer 8 ou versions antérieures ne prennent pas en charge trim() Méthode.

Essayez-le vous-même

Pour prendre en charge IE 8, vous pouvez utiliser la combinaison de l'expression régulière replace() Méthode de remplacement :

Exemple

var str = "       Hello World!        ";
alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));

Essayez-le vous-même

Vous pouvez également utiliser le plan replace ci-dessus pour ajouter la fonction trim à JavaScript String.prototype :

Exemple

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
var str = "       Hello World!        ";
alert(str.trim());

Essayez-le vous-même

Extraction de caractères de chaîne

Voici deux méthodes pour extraire des caractères d'une chaîne :SécuritaireMéthode :

  • charAt(position)
  • charCodeAt(position)

Méthode charAt()

charAt() La méthode retourne la sous-chaîne spécifiée à l'index (position) dans la chaîne :

Exemple

var str = "HELLO WORLD";
str.charAt(0);            // Retourne H

Essayez-le vous-même

Méthode charCodeAt()

charCodeAt() La méthode retourne le code unicode du caractère à l'index spécifié dans la chaîne :

Exemple

var str = "HELLO WORLD";
str.charCodeAt(0);         // Retourne 72

Essayez-le vous-même

Accès aux propriétés (Property Access)

ECMAScript 5 (2009) permet l'accès aux propriétés des chaînes de caractères [ ] :

Exemple

var str = "HELLO WORLD";
str[0];                   // Retourne H

Essayez-le vous-même

L'accès aux propriétés n'est pas très fiable :

  • Non applicable aux versions Internet Explorer 7 ou antérieures
  • Il rend la chaîne de caractères semblable à un tableau (alors qu'elle ne l'est pas)
  • Si le caractère n'est pas trouvé,[ ] Retourne undefinedet charAt() Retourne une chaîne de caractères vide.
  • C'est en lecture seule.str[0] = "A" Ne provoque pas d'erreur (mais ne fonctionne pas non plus !)

Exemple

var str = "HELLO WORLD";
str[0] = "A";             // Ne provoque pas d'erreur, mais ne fonctionne pas
str[0];                   // Retourne H

Essayez-le vous-même

Astuce :Si vous souhaitez traiter la chaîne comme un tableau, vous pouvez d'abord la convertir en tableau.

Convertir une chaîne en tableau

Il est possible de split() Convertir une chaîne en tableau :

Exemple

var txt = "a,b,c,d,e";   // Chaîne
txt.split(",");          // Séparer avec une virgule
txt.split(" ");          // Séparer avec un espace
txt.split("|");          // Séparer avec une barre verticale

Essayez-le vous-même

Si le délimiteur est omis, l'array retourné contiendra la chaîne entière de l'index [0].

Si le délimiteur est "", l'array retourné sera composé d'un tableau d'intervalles de caractères individuels :

Exemple

var txt = "Hello";       // Chaîne
txt.split(

Essayez-le vous-même

Manuel de référence complet de String

Pour un manuel de référence complet, veuillez visiter notre Manuel de référence des chaînes JavaScript.

Ce manuel contient des descriptions et des exemples de toutes les propriétés et méthodes des chaînes HTML.