A vueltas con las expresiones regulares, difíciles pero potentes. Con
este método todas las cadenas que concuerden con la expreg
del primer argumento son reemplazadas por la cadena especificada en el segundo
argumento, nueva, que puede contener elementos
del patrón mediante los símbolos $1 a $9. El resultado devuelto
es la cadena con las sustituciones realizadas. Por ejemplo vamos a cambiar
palabra por frase
en la frase "Cada palabra dicha es una palabra falsa"
var linea = new String();
linea="Cada palabra dicha es una palabra falsa";
linea = linea.replace(/palabra/g, "frase");
document.write(linea);
Si pruebas el ejemplo obtendrás lo siguiente
Cada frase dicha es una frase falsa
En esta ocasión se ha usado un patrón con el modificador g
de global por lo que cambia todas las coincidencias, si se omite sólo
se cambia la primera. En la cadena nueva pueden usarse elementos del patrón,
por ejemplo cambiemos las negritas a cursivas en la frase:
var patron = /(<b>)([^<]+)(<\/b>)/g;
var frase = "Cada <b>negrita</b> pasa a <b>itálica</b>";
document.write(frase+"<br>");
newstr = str.replace(patron, "<i>$2</i>");
document.write(frase);
veras la frase antes y despues del cambio:
Cada negrita pasa a itálica
Cada negrita pasa a itálica
El $2 es un índice referido a los paréntesis del patrón,
así $1 indica lo contenido en el primer paréntesis (<b>)
mientras que $3 es <\b>, el tercer paréntesis.
|