JavaScript中删除字符串中所有出现的字符

38
我想要删除字符串中所有类似 []& 的字符,例如: "[foo] & bar" -> "foo bar"
我不想调用三次 replace 方法,有更简单的方法吗?
var s="[foo] & bar";
s=s.replace('[','');
s=s.replace(']','');
s=s.replace('&','');
2个回答

77

非常感谢!顺便说一句,xkcd漫画非常有趣 :) 是否有可能甚至删除“[foo]&bar”中的“bar”?我认为这不会是/[/[/]&(bar)]+/g。 - Sonnenhut
回答您的问题,如果要删除“bar”,正则表达式应该是/[\[\]&]+|bar/g - Sonnenhut
3
MDN文档、简明示例、解释、XKCD参考...这个答案真的没有得到足够的赞赏! - Brad Koch

17

现在,在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&

你能提供这个的Node版本和Emacs版本吗? - Xitcod13
2
你需要使用Nodejs v15。这依赖于V8引擎版本8.6,其中包括replaceAll函数。 - Jo Momma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接