2011-08-06 26 views
17

[ veya ] veya & gibi tüm karakterleri i.E. : -:javascript dize içindeki tüm karakterleri silme

var s="[foo] & bar";

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

"[foo] & çubuğu"> "foo bar" Ben 3 kez değiştirmek aramak istemiyorum

, sadece kodlama daha kolay bir yolu var

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

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

cevap

36

Regular expressions [xkcd] (Onun gibi hissediyorum;)):

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

Referans:

Yan not:

JavaScript'in replace işlevi, bir karakterin yalnızca ilk oluşumunu değiştirir. Böylece kodunuz bile tüm karakterleri değiştirmeyecekti, sadece her birinin bir tanesi. tüm yinelemeleri ile değiştirmek isterseniz, düzenli ifadeg lobal değiştirici ile kullanmanız gerekir.

+0

çok teşekkür ederim! btw: xkcd çizgi cok komiktir :) 'bar' ve 'bar' kelimelerini silme olasılığım var. [/ [/] & (bar)] +/g – Sonnenhut

+0

@ gluca: 'Bar' silme ile soruma cevap :) –

+0

: regex olurdu:/[\ [\] &] + | bar/g' – Sonnenhut