2011-08-06 13 views
17

[または]または&のようなすべての文字を文字列i.E. : - :javascript文字列内のすべての文字を削除します

var s="[foo] & bar";

s=s.replace('[','');

"[FOO] &バー"> "fooのバー" 私は3回を置き換える呼び出すにしたくない

は、単なるコーディングよりも簡単な方法があります

s=s.replace(']','');

s=s.replace('&','');

答えて

36

Regular expressions [xkcd](私は彼のように感じる;)):

s = s.replace(/[\[\]&]+/g, ''); 

参考:

サイドノート

JavaScriptのreplace関数は、の最初のオカレンスであるを置き換えます。だからあなたのコードでさえ、すべての文字を置き換えず、それぞれの最初の文字だけを置き換えます。 をすべてに置き換えたい場合は、正規表現g小節修飾子を使用する必要があります。

+0

ありがとうございます! btw:xkcd漫画は非常に面白いです:)は、[[foo]&bar 'の' bar 'を削除する可能性もあります。/ [/ [/]&(bar)] +/g – Sonnenhut

+0

@あなたは大歓迎です:) –

+0

私の質問に 'bar'を削除すると、正規表現は '/ [\ [\]&] + | bar/g'となります – Sonnenhut

関連する問題