Partager via


replace, méthode

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

nième sous-correspondance capturée, où n est un chiffre décimal unique de 1 à 9. (JScript version 5.5 ou ultérieure)

$nn

nnième sous-correspondance capturée, où nn est un nombre décimal à deux chiffres de 01 à 99. (JScript version 5.5 ou 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 montre comment utiliser la méthode replace pour remplacer toutes les instances du mot « the » par « a ».

function ReplaceDemo()
{
    var s = "The batter hit the ball with the bat ";
    s += "and the fielder caught the ball with the glove.";

    // Replace "the" with "a".
    var re = /the/g;
    var r = s.replace(re, "a");
    return(r);
}

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 s = "The quick brown fox jumps over the lazy dog.";
    // Create regular expression pattern.
    var re = /(\S+)(\s+)(\S+)/g;
    // Exchange each pair of words.
    var r = s.replace(re, "$3$2$1");
    return(r);
}
    // Output:  quick The fox brown over jumps lazy the dog.

L'exemple suivant, qui fonctionne dans JScript 5.5 ou ultérieure, permet de convertir en degrés Celsius des températures mesurées en degrés Fahrenheit. Il illustre l'utilisation d'une fonction qui retourne le texte de remplacement. Pour comprendre le fonctionnement de cette fonction, passez une chaîne contenant un nombre suivi immédiatement de la lettre « F », par exemple, « Water boils at 212F » (L'eau bout à 212° Fahrenheit).

function f2c(s1) {
    // Initialize pattern.
    var test = /(\d+(\.\d*)?)F\b/g;

    // Use a function for the replacement.    
    var s2 = s1.replace(test,
       function($0,$1,$2)
           { 
           return((($1-32) * 5/9) + "C");
           }
      )
  return s2;
}
print(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