我想删除字符串中的所有字符,例如 [
或 ]
或 &
:
"[foo] & bar"-> "foo bar"
我不想调用replace 3次,有没有比编码更简单的方法:
var s="[foo] & bar";
s=s.replace('[','');
s=s.replace(']','');
s=s.replace('&','');
最佳答案
Regular expressions [xkcd] (我感觉像他;)):
s = s.replace(/[\[\]&]+/g, '');
引用:
旁注:
JavaScript 的 replace
函数仅替换第一次出现的字符。因此,即使您的代码也不会替换所有字符,而只会替换每个字符的第一个。如果要替换所有出现,则必须使用带有g
lobal 修饰符的正则表达式。
关于javascript 删除字符串中所有出现的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6967073/