String.prototype.replace()

Renvoie une nouvelle chaîne dans laquelle la première occurrence d’un motif (ou toutes, avec le flag g) a été remplacée par un autre texte.

Renvoie
Une nouvelle chaîne après remplacement. Si rien ne correspondait, la chaîne reste inchangée.
Modifie l’original
Non
Sur cette page

Exemple

#
JavaScript
const message = 'Bienvenue dans le cours HTML. HTML est facile !'

console.log(message.replace('HTML', 'CSS'))
console.log(message.replace(/HTML/g, 'CSS'))
console.log(message)
Console
Bienvenue dans le cours CSS. HTML est facile !
Bienvenue dans le cours CSS. CSS est facile !
Bienvenue dans le cours HTML. HTML est facile !

Définition et utilisation

#

La méthode replace() cherche un motif et renvoie une nouvelle chaîne avec le fragment remplacé. Quand le motif est un texte simple, seule la première occurrence est remplacée. La chaîne d’origine reste inchangée, il faut donc enregistrer le résultat dans une variable.

Le motif peut être une expression régulière. Avec le flag g, toutes les occurrences sont remplacées, et avec le flag i, la casse cesse d’avoir de l’importance. Dans le texte de remplacement, des séquences spéciales insèrent des fragments de la correspondance : $& représente toute la correspondance, et $1, $2 les groupes capturés dans l’ordre.

Au lieu d’un texte, vous pouvez passer une fonction. Elle sera appelée pour chaque correspondance, et ce qu’elle renvoie se retrouve dans le résultat. Cela permet par exemple de recalculer des nombres présents dans le texte ou de remplacer des mots à partir d’un dictionnaire.

Syntaxe

#
Syntaxe
string.replace(pattern, replacement)

Paramètres

#
  • pattern

    string | RegExp

    Texte ou expression régulière à trouver. Un texte ne remplace que la première occurrence, une expression avec le flag g les remplace toutes.
  • replacement

    string | function

    Texte inséré à la place de la correspondance (peut contenir $&, $1, etc.) ou fonction qui reçoit la correspondance et les groupes, et renvoie le texte de remplacement.

Plus d’exemples

#
Groupes dans le texte de remplacement
JavaScript
const date = '2026-09-28'
const formatted = date.replace(/(\d{4})-(\d{2})-(\d{2})/, '$3.$2.$1')

console.log(formatted)
Console
28.09.2026
Une fonction comme remplacement
JavaScript
const receipt = 'Cours 100 euros, e-book 40 euros'
const halfPrice = receipt.replace(/(\d+) euros/g, (match, amount) => `${amount / 2} euros`)

console.log(halfPrice)
Console
Cours 50 euros, e-book 20 euros
La casse n’a pas d’importance
JavaScript
const review = 'Super cours ! JAVASCRIPT et javascript, c’est la même chose.'

console.log(review.replace(/javascript/gi, 'JavaScript'))
Console
Super cours ! JavaScript et JavaScript, c’est la même chose.

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Pour remplacer toutes les occurrences d’un texte simple, utilisez replaceAll() ou une expression avec le flag g. replace("a", "b") seul ne change que la première.
  • Le caractère $ a une signification spéciale dans le texte de remplacement. Écrivez un signe dollar littéral comme $$, ou renvoyez-le depuis une fonction.
  • En construisant une expression régulière à partir d’un texte saisi par l’utilisateur, méfiez-vous des caractères spéciaux comme ., * ou ?. Pour du texte simple, replaceAll() avec une chaîne est plus sûr.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.