2011-05-20 23 views
5

quiero reemplazar todas las ocurrencias de [h2][/h2] en una cadena JavaScript Por ejemplo, tengoReemplazar todas cadena de ocurrencias

var mystring = 'hii[h2][/h2]'; 

quiero llegar -> HII

hasta ahora tratado

mystring.replace(/[h2][\/h2]/g, ""); 
+5

'[ 'es un carácter especial, que había necesidad de escapar de ella también. – pimvdb

+0

Posible duplicado de [Cómo reemplazar todos los puntos en una cadena usando JavaScript] (http://stackoverflow.com/q/2390789/1529630), pero aquí con corchetes en lugar de puntos. – Oriol

Respuesta

7

Necesita escapar de los corchetes cuadrados.

mystring.replace(/\[h2\]\[\/h2\]/g, ''); 
+0

de error: no terminado literal de expresión regular Código Fuente: 'cadena = str.replace (/ \ [i \] [\/i \]/g, '');' – Sourav

+1

@Sourav: Usted se olvidó de escapar de la segunda abierto corchete cuadrado –

+0

@Sourav: Tienes que ** escapar ** de ']' y '['. – pimvdb

2

Suponiendo nada entre esas etiquetas, lo que necesita para escapar de la [] también.

mystring.replace(/\[h2]\[\/h2]/g, ""); 
+0

¿No tienes que escapar del corchete de cierre? –

+1

No, solo [está reservado; si escapó a un posterior] es solo un personaje normal –

+0

No me di cuenta. –

2

prueba este:

str.replace(/\[h2\]\[\/h2\]/g,""); 

nota que usted tiene que escapar [y] si forman parte del texto que desea reemplazar en caso contrario se interpretan como "marcadores de clase de caracteres".

Si el [h2] y [/ h2] también podría aparecer por separado, se podría utilizar éste:

str.replace(/\[\/?h2\]/g,""); 
Cuestiones relacionadas