Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
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
Necesario. Instancia de un objeto Regular Expression que contiene el modelo de expresión regular y los indicadores 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
Necesario. 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, 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, 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 siguiente ejemplo se muestra el uso del método replace para reemplazar la primera instancia de la palabra "The" con la palabra "A". Observe que sólo se reemplaza la primera instancia de "The" porque el modelo distingue mayúsculas de minúsculas.
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.
}
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 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.
}
En el siguiente ejemplo, que funciona en JScript 5.5 o posterior, se realiza la conversión de grados Fahrenheit a Celsius y se muestra el uso de una función como replaceText. 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 212").
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."));