Partager via


replace, méthode

Mise à jour : novembre 2007

Retourne une copie d'une chaîne dont le texte a été remplacé à l'aide d'une expression régulière ou d'une chaîne recherchée.

function replace(rgExp : RegExp, replaceText : String) : String

Arguments

  • rgExp
    Obligatoire. Instance d'un objet Regular Expression contenant le modèle d'expression régulière et les indicateurs applicables. Cet argument peut également être un littéral ou un objet String. Si l'argument rgExp n'est pas une instance d'un objet Regular Expression, il est converti en chaîne, et une recherche exacte est lancée ; aucune tentative n'est faite pour convertir la chaîne en expression régulière.

  • replaceText
    Obligatoire. Objet String ou littéral de chaîne contenant le texte à substituer pour chaque correspondance de rgExp trouvée dans l'objet String en cours. Dans JScript version 5.5 ou ultérieure, l'argument replaceText peut également être une fonction qui retourne le texte de remplacement.

Notes

Le résultat de la méthode replace est une copie de l'objet String en cours après que les remplacements spécifiés ont été effectués.

Les variables de correspondance suivantes peuvent toutes être utilisées pour identifier la correspondance la plus récente ainsi que la chaîne où elle se situe. Ces variables peuvent être employées dans le texte de remplacement où la chaîne de remplacement doit être déterminée de façon dynamique.

Caractères

Signification

$$

$ (JScript version 5.5 ou ultérieure)

$&

Spécifie la partie de l'objet String en cours à laquelle le modèle entier correspond. (JScript version 5.5 ou ultérieure)

$`

Spécifie la partie de l'objet String en cours précédant la correspondance décrite par $&. (JScript version 5.5 ou ultérieure)

$'

Spécifie la partie de l'objet String en cours suivant la correspondance décrite par $&. (JScript version 5.5 ou ultérieure)

$n

La nième sous-correspondance trouvée, où n représente un chiffre décimal unique compris entre 1 et 9.

$nn

La nnième sous-correspondance trouvée, où nn représente un nombre décimal à deux chiffres compris entre 01 et 99. (JScript 5.5 ou version ultérieure.)

Si replaceText est une fonction, celle-ci est appelée pour chaque sous-chaîne trouvée avec les arguments m + 3 suivants, où m représente le nombre de parenthèses de capture situées à gauche dans rgExp. Le premier argument correspond à la sous-chaîne trouvée. Les m arguments suivants sont les captures résultant de la recherche. L'argument m + 2 représente l'offset à l'intérieur de l'objet String en cours où la correspondance a été trouvée, tandis que l'argument m + 3 correspond à l'objet String en cours. Le résultat est la valeur de chaîne obtenue après le remplacement de chaque sous-chaîne trouvée avec la valeur de retour correspondante de l'appel de fonction.

La méthode replace met à jour les propriétés de l'objet RegExp global.

Exemple

L'exemple suivant illustre l'utilisation de la méthode replace pour remplacer la première occurrence du mot « The » par le mot « A ». Seule la première occurrence du mot « The » est remplacée car le modèle respecte la casse.

function ReplaceDemo(){
   var r, re;                   //Declare variables.
   var ss = "The man hit the ball with the bat.\n";
   ss += "while the fielder caught the ball with the glove.";
   re = /The/g;                //Create regular expression pattern.
   r = ss.replace(re, "A");    //Replace "The" with "A".
   return(r);                  //Return string with replacement made.
}

En outre, la méthode replace peut également remplacer des sous-expressions dans le modèle. L'exemple suivant permute chaque paire de mots dans la chaîne.

function ReplaceDemo(){
   var r, re;                      //Declare variables.
   var ss = "The rain in Spain falls mainly in the plain.";
   re = /(\S+)(\s+)(\S+)/g;        //Create regular expression pattern.
   r = ss.replace(re, "$3$2$1");   //Swap each pair of words.
   return(r);                      //Return resulting string.
}

L'exemple suivant (pour JScript version 5.5 ou ultérieure) convertit une température en degrés Fahrenheit en température en degrés Celsius, et illustre ainsi l'utilisation d'une fonction replaceText. Pour comprendre le fonctionnement de cette fonction, passez une chaîne contenant un nombre suivi immédiatement de la lettre « F » (par exemple, « L'eau bout à 212F »).

function f2c(s) {
  var test = /(\d+(\.\d*)?)F\b/g;    //Initialize pattern.
  return(s.replace
    (test,
      function($0,$1,$2) { 
        return((($1-32) * 5/9) + "C");
      }
    )
  );
}
document.write(f2c("Water freezes at 32F and boils at 212F."));

Configuration requise

Version 1

S'applique à :

String, objet

Voir aussi

Référence

exec, méthode

match, méthode

RegExp, objet

search, méthode

test, méthode