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

Son*_*hut 23 javascript string

我想删除所有的字符,如[]&在一个字符串,即:"[富]栏" - >"富巴"

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

var s="[foo] & bar";

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

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

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

Fel*_*ing 50

正则表达式[xkcd](我觉得他像;)):

s = s.replace(/[\[\]&]+/g, '');
Run Code Online (Sandbox Code Playgroud)

参考:

旁注:

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

  • MDN文档,简洁示例,解释,XKCD参考......这个答案被彻底低估了! (3认同)

Jo *_*mma 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&
Run Code Online (Sandbox Code Playgroud)

  • 您需要使用 Nodejs v15。这依赖于V8引擎版本8.6,其中包括replaceAll (2认同)