javascript删除字符串中出现的所有char

时间:2011-08-06 13:22:50

标签: javascript string

我想删除字符串i.E中的所有字符,例如[]&。 : “[foo]& bar” - > “foo bar”

我不想调用替换3次,是否有一种比编码更简单的方法:

var s="[foo] & bar";

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

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

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

2 个答案:

答案 0 :(得分:43)

Regular expressions [xkcd](我觉得他像;)):

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

参考:

旁注

JavaScript的replace函数仅替换字符的第一次出现。因此,即使您的代码也不会替换所有字符,只替换每个字符中的第一个字符。如果要替换所有出现次数,则必须将正则表达式 g lobal修饰符一起使用。

答案 1 :(得分:0)

今天,在 2021 年,您可以使用 replaceAll 函数:

let str = "Hello. My name is John."

let newStr = str.replaceAll('.', '')

console.log(newStr) // result -> Hello My name is John

let nextStr = str.replaceAll('.', '&')

console.log(nextStr) // result -> Hello& My name is John&