String.prototype.slice()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

La méthode slice() extrait une section d'une chaine de caractères et la retourne comme une nouvelle chaine de caractères. La chaîne de caractères courante n'est pas modifiée.

Exemple interactif

Syntaxe

js
chn.slice(indiceDebut[, indiceFin])

Paramètres

indiceDebut

L'indice base 0 auquel commencer l'extraction. Si négatif, il est traité comme (longueurSource + indiceDebut) où longueurSource est la longueur de la chaine de caractères (par exemple, si indiceDebut est -3, il sera traité comme longueurSource - 3). Si indiceDebut est supérieur à la longueur de la chaîne, slice() renvoie une chaîne vide.

indiceFin

Paramètre optionnel. Un indice base 0 avant lequel terminer l'extraction. Le caractère à cet indice ne sera pas inclus. Si indiceFin est absent, slice() extraira jusqu'à la fin de la chaine de caractères. Si négatif, il sera traité comme (longueurSource + indiceFin) où longueurSource est la longueur de la chaine de caractères (par exemple s'il vaut -3, il sera traité comme longueurSource - 3)

Valeur retournée

Une nouvelle chaîne de caractères contenant la section extraite de la chaîne.

Description

slice() extrait le texte d'une chaine de caractères et retourne une nouvelle chaîne de caractères. Les changements au texte dans une chaine de caractères n'affectent pas l'autre chaîne.

slice() extrait jusqu'à indiceFin, mais sans l'inclure. Par exemple, chn.slice(1, 4) extrait du second caractère jusqu'au quatrième caractère (caractères d'indices 1, 2 et 3).

Par exemple, chn.slice(2, -1) extrait du troisième caractère jusqu'à l'avant-dernier caractère de la chaine de caractères.

Exemples

Utilisation de slice() pour créer une nouvelle chaîne de caractères

L'exemple suivant utilise slice() pour créer une nouvelle chaîne de caractères.

js
var chn1 = "Le matin est sur nous.", // la longueur de chn1 est de 22
  chn2 = chn1.slice(1, 8),
  chn3 = chn1.slice(3, -2),
  chn4 = chn1.slice(13),
  chn5 = chn1.slice(30);
console.log(chn2); // SORTIE : e matin
console.log(chn3); // SORTIE : matin est sur nou
console.log(chn4); // SORTIE : sur nous.
console.log(chn5); // SORTIE : ""

Utilisation de slice() avec des indices négatifs

L'exemple suivant utilise slice() avec des indices négatifs.

js
var chn = "Le matin est sur nous.";
chn.slice(-3); // retourne "us."
chn.slice(-3, -1); // retourne "us"
chn.slice(0, -1); // retourne "Le matin est sur nous"

Dans l'exemple qui suit, on commence à chercher l'indice de début à partir de la fin de la chaîne avec l'argument -11 et on utilise un indice de fin positif avec 16 :

js
console.log(chn.slice(-11, 16)); // "st sur"

On utilise ensuite un indice de début positif (la recherche est effectuée depuis le début de la chaîne) et un indice de fin négatif pour parvenir au même résultat :

js
console.log(chn.slice(10, -5)); // "st sur"

Enfin, on utilise deux indices négatifs : la position de début et la position de fin sont recherchées à parti de la fin de la chaîne :

js
console.log(chn.slice(-11, -5)); // "st sur"

Spécifications

Specification
ECMAScript Language Specification
# sec-string.prototype.slice

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi