Compartilhar via


o método replace

Retorna uma cópia de uma seqüência de caracteres com texto substituído usando uma seqüência de pesquisa ou de expressão regular.

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

Argumentos

  • rgExp
    Obrigatório. Uma instância de um A expressão Regular objeto que contém o padrão de expressão regular e sinalizadores aplicáveis. Também pode ser um String o objeto ou literal. Se rgExp não é uma instância de um A expressão Regular o objeto, ele é convertido em uma seqüência de caracteres e uma pesquisa exata é feita para resultados; é feita nenhuma tentativa de converter a string em uma expressão regular.

  • replaceText
    Obrigatório. A String objeto ou literal de seqüência de caracteres que contém o texto para substituir para cada correspondência correta de rgExp do objeto de seqüência de caracteres atual. No JScript 5.5 ou posterior, o replaceText argumento também pode ser uma função que retorna o texto de substituição.

Comentários

O resultado do Substituir método é uma cópia do objeto de seqüência de caracteres atual após terem sido feitas substituições especificadas.

Qualquer uma das seguintes variáveis de correspondência pode ser usado para identificar a correspondência mais recente e a seqüência de caracteres de onde ele veio. As variáveis de correspondência podem ser usadas na substituição de texto onde a seqüência de caracteres de substituição tem seja determinado dinamicamente.

Caracteres

Significado

$$

$(JScript 5.5 ou posterior)

$&

Especifica a parte do objeto de seqüência de caracteres atual padrão de inteiro correspondente. (JScript 5.5 ou posterior)

$`

Especifica a parte do objeto de seqüência de caracteres atual que precede a correspondência descrita por $&. (JScript 5.5 ou posterior)

$'

Especifica a parte do objeto atual string que segue a correspondência descrita por $&. (JScript 5.5 ou posterior)

$n

O nth capturados submatch, onde n é um único dígito decimal de 1 a 9. (JScript 5.5 ou posterior)

$nn

O nnth capturados submatch, onde nn é um número decimal de dois dígitos de 01 a 99. (JScript 5.5 ou posterior)

Se replaceText é uma função, para cada substring correspondida a função é chamada com o seguinte m + 3 argumentos onde m é o número da esquerda para a captura de parênteses na rgExp. O primeiro argumento é a substring que correspondeu. O próximo m argumentos são todas as capturas que resultou da pesquisa. Argumento m + 2 é o deslocamento dentro do objeto de seqüência de caracteres atual onde a correspondência ocorreu e o argumento m + 3 é o objeto de seqüência de caracteres atual. O resultado é o valor de seqüência de caracteres que resulta da substituição de cada substring correspondida com o valor correspondente de retorno de chamada de função.

O Substituir método atualiza as propriedades do modelo global da RegExp objeto.

Exemplo

O exemplo a seguir ilustra o uso da Substituir método para substituir todas as ocorrências de "a" com "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);
}

Além disso, o Substituir método também pode substituir subexpressões no padrão. O exemplo a seguir troca cada par de palavras na seqüência de caracteres.

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.

O exemplo a seguir, que funciona no JScript 5.5 e posteriores, realiza um Fahrenheit para Celsius conversão. Ele ilustra como usar uma função que retorna o texto de substituição. Para ver como funciona a essa função, passar uma string que contém um número seguido imediatamente por um "F" Se (por exemplo, "água resume a 212 C").

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

Requisitos

Versão 1

Se aplica A:

Objeto String

Consulte também

Referência

Método de EXEC

corresponde ao método

Objeto RegExp

Método de pesquisa.

Método de teste.