2010-11-27 7 views

答えて

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

結果:また、括弧の前後に余分な空白を置き換えます

"Hello, this is Mike" 
+9

.replace()は文字列自体を変更するものではなく、新しい文字列のみを返すことに注意してください。だからあなたはまだあなたが変更したものと等しくなるように変数を設定する必要があります。 – Ayub

+1

カッコが文字列の真ん中にある場合、上の正規表現はその周りの空白をすべて削除します。これはおそらく良くありません。 –

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

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

1

このバージョンはすべてのケースに最適です。すべての空白を削除するわけではありません。例えば

"(テスト)B" - > "B"

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

+0

'trim 'は普遍的にサポートされていないことに注意してください:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim、少なくとも2015年ではない... 2017年それはもっと良く見えます。 –

関連する問題