2010-11-27 11 views

Respuesta

125
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, ""); 

Resultado:

"Hello, this is Mike" 
+9

tenga en cuenta que .replace() no cambia la cadena en sí, solo devuelve una nueva cadena. Por lo tanto, todavía tiene que configurar la variable para que sea igual a lo que ha cambiado. – Ayub

+1

Donde los paréntesis están en el medio de una cadena, la expresión regular anterior eliminará todos los espacios en blanco a su alrededor. Esto probablemente no sea bueno. –

22
var str = "Hello, this is Mike (example)"; 

alert(str.replace(/\s*\(.*?\)\s*/g, '')); 

Eso también va a reemplazar el exceso de espacio en blanco antes y después de los paréntesis.

1

Encontré esta versión más adecuada para todos los casos. No elimina todos los espacios en blanco.

Por ejemplo, "un (prueba) b" -> "a b"

"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim(); "Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();

+0

Beware 'trim' no es universalmente compatible: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim, al menos no fue en 2015 ... en 2017 se ve mucho mejor. –

Cuestiones relacionadas