[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll [Back]  [Original]

String.prototype.replaceAll() - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

String.prototype.replaceAll()

Baseline Large disponibilit

Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis aot 2020.

La mthode replaceAll() retourne une nouvelle chane de caractres dans laquelle toutes les occurrences d'un motif donn ont t remplaces par une chane de remplacement. L'argument pattern fournit pour dcrire le motif peut tre une chane de caractres ou une expression rationnelle (RegExp), l'argument replacement peut tre une chane de caractres ou une fonction qui sera appele pour chaque correspondance.

La chane de caractres initiale restera inchange.

Dans cet article

Exemple interactif

const paragraph = "I think Ruth's dog is cuter than your dog!";

console.log(paragraph.replaceAll("dog", "monkey"));
// Expected output: "I think Ruth's monkey is cuter than your monkey!"

// Global flag required when calling replaceAll with regex
const regex = /Dog/gi;
console.log(paragraph.replaceAll(regex, "ferret"));
// Expected output: "I think Ruth's ferret is cuter than your ferret!"

Syntaxe

js
const newStr = str.replaceAll(regexp|substr, newSubstr|function)

Note : Quand on utilise une expression rationnelle, il est ncessaire d'utiliser le marqueur global ("g"); autrement, l'exception TypeError: "replaceAll must be called with a global RegExp" sera leve.

Paramtres

regexp (le motif rechercher)

Un objet ou littrale RegExp avec le marqueur global. Les correspondances sont remplaces par newSubstr ou la valeur retourne par la function spcifie. Une RegExp sans le marqueur global ("g") renverra l'erreur TypeError: "replaceAll must be called with a global RegExp".

substr

Une chane de caractres (String) qui sera remplace par newSubstr. Elle est traite comme une chane de caracres littrale et non pas comme une expression rgulire.

newSubstr (remplacement)

La chane de caractres (String) qui remplacera la sous-chane indique par la regexp ou substr donne en paramtre. Un certain nombre de motifs spciaux pour le remplacement sont pris en charge, voir la section "Spcifier une chane de caractres comme paramtre" ci-dessous.

function (remplacement)

Une fonction qui a pour but de crer la nouvelle sous-chane qui remplacera les occurrences trouves via la regexp ou substr donne en paramtre. Les arguments passs cette fonction sont dtaills dans la section "Spcifier une fonction comme paramtre" ci-dessous.

Valeur de retour

Une nouvelle chane avec toutes les occurrences trouves remplaces par le pattern de remplacement.

Description

Cette mthode ne remplace ni ne modifie l'objet String original. Elle retourne juste une nouvelle chane de caractres.

Spcifier une chane de caractres comme paramtre

La chane de caractres de remplacement peut inclure les motifs de remplacement spciaux suivants :

Motif Insertion
$$ Insre un "$".
$& Insre la chane de caractres trouve.
$` Insre la portion de chane de caractres qui prcde celle trouve.
$' Insre la portion de chane de caractres qui suit celle trouve.
$n O n est un entier positif infrieur 100. Insre la n-ime occurrence trouve, condition que le premier argument soit un objet RegExp. Cet indice dmarre partir de 1.

Spcifier une fonction comme paramtre

Vous pouvez passer une fonction comme second paramtre. Dans ce cas, la fonction sera appele aprs qu'une occurrence soit trouve. Le rsultat de la fonction (valeur de retour) sera utilis comme chane de remplacement. (Note : les remplacements spciaux mentionns plus haut ne s'appliqueront pas dans ce cas.)

noter que la fonction sera utilise chaque fois qu'une occurrence sera rencontre, si l'expression rgulire donne en paramtre est globale.

La fonction admet les arguments suivants :

Nom possible Valeur fournie
match L'occurrence trouve. (Correspond au $& du prcdent tableau.)
p1, p2

Le n-ime chane de caractres trouve par une sous-correspondance entre parenthses, condition que le premier paramtre soit un objet de type RegExp.
(Correspond aux $1, $2 prcdents.) Par exemple, si /(\a+)(\b+)/ a t pass en paramtre, p1 est la correspondance pour \a+, et p2 pour \b+.

offset Le dcalage de la sous-chane trouve dans la chane d'entre (par exemple, si la chane complte d'entre tait 'abcd' et la sous-chane 'bc' alors, cet argument vaudra 1.)
string La chane compte examine.

Le nombre d'arguments exact dpend du premier argument de replaceAll() : si c'est un objet de type RegExp et, si tel est le cas, du nombre de sous-correspondances entre parenthses qu'il spcifie.

Exemples

Utiliser replaceAll()

js
"aabbcc".replaceAll("b", ".");
// 'aa..cc'

Exceptions pour les expressions rationnelles non globales

Quand on utilise une expression rationnelle pour chercher une valeur, celle-ci doit tre globale. Le code suivant ne fonctionnera pas :

js
'aabbcc'.replaceAll(/b/, '.');
TypeError: replaceAll must be called with a global RegExp

L'exemple suivant, utilisant le marqueur g, fonctionnera :

js
"aabbcc".replaceAll(/b/g, ".");
("aa..cc");

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-string.prototype.replaceall

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page