JavaScript String replace() 方法

定义和用法

replace() 方法在字符串中搜索值或正则表达式。

replace() 方法返回已替换值的新字符串。

replace() 方法不会更改原始字符串。

提示:如果您替换值,则只会替换第一个实例。如需替换所有实例,请使用带有 g 修饰符集的正则表达式。

另请参阅:

正则表达式教程

正则表达式参考手册

实例

例子 1

替换 Microsoft:

let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3School");

essayez-le vous-même

例子 2

全局替换:

let text = "Mr Blue a une maison bleue et une voiture bleue";
let result = text.replace(/blue/g, "red");

essayez-le vous-même

例子 3

全局的、不区分大小写的替换:

let text = "Mr Blue a une maison bleue et une voiture bleue";
let result = text.replace(/blue/gi, "red");

essayez-le vous-même

exemple 4

retourne une fonction de texte de remplacement :

let text = "Mr Blue a une maison bleue et une voiture bleue";
let result = text.replace(/blue|house|car/gi, function (x) {
  return x.toUpperCase();
});

essayez-le vous-même

syntaxe

string.replace(regexp, replacement)

paramètres

paramètres description
regexp

obligatoire. Valeur à rechercher ou expression régulière.

ce paramètre spécifie l'objet RegExp à remplacer.

si ce paramètre est une chaîne de caractères, il est utilisé comme modèle de texte littéral à rechercher.

replacement

obligatoire. Chaîne de caractères.

spécifie le texte de remplacement ou la fonction générant le texte de remplacement.

retourne

type description
de nouvelle chaîne de caractères avec la valeur spécifiée remplacée.

détails techniques

retourne

retourne une nouvelle chaîne de caractères, qui est replacement remplace regexp de

de

de string de replace() de string de regexp l'opération exécutée par la méthode est la recherche et le remplacement. Il remplacera replacement cherche dans regexp sous-chaînes correspondantes, puis replace() pour remplacer ces sous-chaînes. Si

replacement possédant le drapeau global g, alors replacement la méthode remplace toutes les sous-chaînes correspondantes. Sinon, il ne remplace que la première sous-chaîne correspondante. peut être une chaîne de caractères ou une fonction. Si c'est une chaîne de caractères, chaque correspondance est remplacée par cette chaîne de caractères. Cependant $

caractère a un sens spécifique. Comme indiqué dans le tableau suivant, la chaîne de caractères obtenue à partir de la correspondance du modèle est utilisée pour le remplacement. caractère
texte de remplacement correspondant à regexp le texte correspondant aux expressions régulaires des sous-chaînes du 1er au 99. $1, $2, ..., $99
$& correspondant à regexp sous-chaîne correspondante.
$` le texte situé à gauche de la sous-chaîne de correspondance.
$' le texte situé à droite de la sous-chaîne de correspondance.
$$ symboles littéraux.

Attention :ECMAScript v3 stipule que,replace() les paramètres de la méthode replacement peut être une fonction au lieu d'une chaîne de caractères. Dans ce cas, la fonction est appelée pour chaque correspondance, et la chaîne de caractères retournée est utilisée comme texte de remplacement. Le premier paramètre de la fonction est la chaîne de caractères du modèle de correspondance. Les paramètres suivants sont les chaînes de caractères correspondantes aux sous-expressions du modèle, et il peut y en avoir 0 ou plusieurs de tels paramètres. Le prochain paramètre est un entier, déclarant la position de la correspondance dans string la position de l'apparition du texte. Le dernier paramètre est string en soi.

Prise en charge du navigateur

replace() C'est une caractéristique de ECMAScript1 (ES1).

Tous les navigateurs prennent en charge complètement ES1 (JavaScript 1997) :

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Support Support Support Support Support Support

Pages associées

Chaîne JavaScript

Méthodes de chaîne JavaScript

Recherche de chaîne JavaScript