Compartir a través de


replace (Método)

Devuelve una copia de una cadena con texto reemplazado mediante una expresión regular o una cadena de búsqueda.

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

Argumentos

  • rgExp
    Obligatorio. Instancia de un objeto Regular Expression que contiene el modelo de expresión regular y las marcas aplicables. También puede ser un literal u objeto String. Si rgExp no es una instancia de un objeto Regular Expression, se convertirá en una cadena y se realizará una búsqueda exacta de los resultados; no se intentará convertir la cadena en una expresión regular.

  • replaceText
    Obligatorio. Objeto String o literal de cadena que contiene el texto que se va a reemplazar por cada coincidencia de rgExp en el objeto de cadena actual. En JScript 5.5 o posterior, el argumento replaceText también puede ser una función que devuelva el texto de reemplazo.

Comentarios

El resultado del método replace es una copia del objeto de cadena actual después de hacer todos los reemplazos especificados.

Se puede utilizar cualquiera de las siguientes variables de coincidencia para identificar la coincidencia más reciente y la cadena de procedencia. Las variables de coincidencia se pueden utilizar en texto de reemplazo cuando la cadena de reemplazo se tenga que determinar dinámicamente.

Characters

Significado

$$

$ (JScript 5.5 o posterior)

$&

Especifica la parte del objeto de cadena actual que ha coincidido con el modelo completo. (JScript 5.5 o posterior)

$`

Especifica la parte del objeto de cadena actual que precede a la coincidencia descrita por $&. (JScript 5.5 o posterior)

$'

Especifica la parte del objeto de cadena actual que precede a la coincidencia descrita por $&. (JScript 5.5 o posterior)

$n

Subcoincidencia n-ésima capturada, donde n es un número decimal de un dígito comprendido entre 1 y 9. (JScript 5.5 o posterior)

$nn

Subcoincidencia nn-ésima capturada, donde nn es un número decimal de dos dígitos comprendido entre 01 y 99. (JScript 5.5 o posterior)

Si replaceText es una función, para cada subcadena encontrada se llama a la función con los siguientes m + 3 argumentos, donde m es el número de paréntesis de apertura existentes en la expresión rgExp. El primer argumento es la subcadena que ha coincidido. Los siguientes m argumentos son todas las capturas resultantes de la búsqueda. El argumento m + 2 es el desplazamiento dentro del objeto de cadena actual donde se encontró la coincidencia, y el argumento m + 3 es el objeto de cadena actual. El resultado es el valor de cadena resultante de reemplazar cada coincidencia de la subcadena por el correspondiente valor devuelto por la llamada a la función.

El método replace actualiza las propiedades del objeto global RegExp.

Ejemplo

En el ejemplo siguiente, se muestra el uso del método replace para reemplazar todas las instancias de "the" por "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);
}

Además, el método replace también puede reemplazar subexpresiones en el modelo. En el siguiente ejemplo, se intercambia cada par de palabras en la cadena.

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.

En el ejemplo siguiente, que funciona en JScript 5.5 y versiones posteriores, se realiza una conversión de Fahrenheit en Celsius. Se muestra cómo usar una función que devuelve el texto de reemplazo. Para ver cómo se comporta esta función, pase una cadena que contenga un número seguido inmediatamente de "F" (por ejemplo, "Water boils at 212F").

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

Versión 1

Se aplica a:

String (Objeto)

Vea también

Referencia

exec (Método)

match (Método)

RegExp (Objeto)

search (Método)

test (Método)