2010-11-27 18 views

Antwort

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

Ergebnis:

"Hello, this is Mike" 
+9

Beachten Sie, dass .replace() die Zeichenfolge selbst nicht ändert, sondern nur eine neue Zeichenfolge zurückgibt. Sie müssen also die Variable immer so einstellen, dass sie der geänderten Größe entspricht. – Ayub

+1

Wenn sich die Klammern in der Mitte einer Zeichenfolge befinden, entfernt die obige Regex alle Leerzeichen um sie herum. Das ist wahrscheinlich nicht gut. –

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

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

Das wird auch überschüssige Leerzeichen vor und nach den Klammern ersetzen.

1

Ich fand diese Version für alle Fälle am besten geeignet. Es werden nicht alle Leerzeichen entfernt.

Zum Beispiel "a (Test) b" -> "a b"

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

+0

Vorsicht, 'trim' wird nicht allgemein unterstützt: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim, zumindest war es nicht 2015 ... in 2017 es sieht viel besser aus. –

Verwandte Themen