Condividi tramite


Metodo replace

Restituisce una copia di una stringa in cui il testo è stato sostituito utilizzando un'espressione regolare o una stringa di ricerca.

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

Argomenti

  • rgExp
    Obbligatoria. Istanza di un oggetto Regular Expression contenente il criterio di espressione regolare e i flag applicabili. Può anche essere un oggetto String o una stringa letterale. Se rgExp non è un'istanza di un oggetto Regular Expression, esso verrà convertito in una stringa e verrà eseguita una ricerca esatta dei risultati; nessun tentativo verrà fatto per convertire la stringa in un'espressione regolare.

  • replaceText
    Obbligatoria. Oggetto String o valore letterale stringa che specifica il testo con cui sostituire tutte le corrispondenze di rgExp individuate nell'oggetto stringa corrente. In JScript 5.5 o versioni successive, l'argomento replaceText può anche essere una funzione che restituisce il testo sostitutivo.

Note

Il risultato del metodo replace è una copia dell'oggetto stringa corrente ottenuta dopo l'esecuzione di tutte le sostituzioni.

Ognuna delle seguenti variabili di corrispondenza può essere utilizzata per identificare la corrispondenza più recente e la stringa da cui proviene. Le variabili di corrispondenza possono essere utilizzate nella sostituzione del testo laddove la stringa in cui eseguire la sostituzione deve essere determinata dinamicamente.

Caratteri

Significato

$$

$ (JScript 5.5 o versioni successive).

$&

Specifica la parte dell'oggetto stringa corrente corrispondente all'intero criterio di ricerca (JScript 5.5 o versioni successive)

$`

Specifica la parte dell'oggetto stringa corrente che precede la corrispondenza descritta da $&. (JScript 5.5 o versioni successive)

$'

Specifica la parte dell'oggetto stringa corrente che segue la corrispondenza descritta da $& (JScript 5.5 o versioni successive)

$n

Sottocorrispondenza n acquisita, dove n è una singola cifra decimale che varia da 1 a 9. (JScript 5.5 o versioni successive)

$nn

Sottocorrispondenza nn acquisita, dove nn è un numero decimale a due cifre che varia da 01 a 99. (JScript 5.5 o versioni successive)

Se replaceText è una funzione, per ciascuna sottostringa corrispondente la funzione è denominata con gli argomenti m + 3, dove m è il numero delle parentesi di cattura aperte in rgExp. Il primo argomento è la sottostringa corrispondente. I successivi argomenti m sono tutte le catture risultanti dalla ricerca. L'argomento m + 2 è l'offset all'interno dell'oggetto stringa corrente in cui si è verificata la corrispondenza e l'argomento m + 3 è l'oggetto stringa corrente. Il risultato è un valore stringa derivante dalla sostituzione di ogni sottostringa trovata con il valore corrispondente restituito della chiamata di funzione.

Quando si utilizza il metodo replace vengono aggiornate le proprietà dell'oggetto globale RegExp.

Esempio

Nell'esempio seguente viene illustrato l'utilizzo del metodo replace per sostituire tutte le istanze di "the" con "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);
}

Inoltre, il metodo replace consente di sostituire le espressioni secondarie nel criterio di ricerca. Nell'esempio seguente viene scambiata ogni coppia di parole nella stringa.

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.

Nell'esempio seguente, valido per JScript 5.5 e versioni successive, viene eseguita una conversione da gradi Fahrenheit a gradi Celsius. Viene inoltre illustrato come utilizzare una funzione per restituire il testo di sostituzione. Per osservare il funzionamento di questa funzione, utilizzare una stringa contenente un numero seguito immediatamente da una "F", ad esempio "Water boils at 212".

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."));

Requisiti

Versione 1

Si applica a:

Oggetto String

Vedere anche

Riferimenti

Metodo exec

Metodo match

Oggetto RegExp

Metodo search

Metodo test