我想删除字符串i.E中的所有字符,例如[
或]
或&
。 :
“[foo]& bar” - > “foo bar”
我不想调用替换3次,是否有一种比编码更简单的方法:
var s="[foo] & bar";
s=s.replace('[','');
s=s.replace(']','');
s=s.replace('&','');
答案 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&