从string中删除字符

有什么不同的方式可以从string中删除字符在JavaScript中?

在正则expression式中使用replace()是最灵活/最强大的。 这也是在JavaScript中全局replacesearch模式的每个实例的唯一方法。 replace()的非正则expression式只会replace第一个实例。

例如:

 var str = "foo gar gaz"; // returns: "foo bar gaz" str.replace('g', 'b'); // returns: "foo bar baz" str = str.replace(/g/gi, 'b'); 

在后面的例子中,尾部/gi表示不区分大小写和全局replace(意味着不仅仅是第一个实例应该被replace),这是您在string中replace时通常需要的。

删除字符,请使用空string作为replace:

 var str = "foo bar baz"; // returns: "foo rz" str.replace(/ba/gi, ''); 

这里是删除字符LIST(多个一次)的oneliner – 例如从电话号码中删除+,-, ,(,)

 var str = "+(48) 123-456-789".replace(/[-+()\s]/g, ''); 

str的结果值: "48123456789"

我们使用正则expression式[-+()\s][]之间放置不需要的字符( \s是'space'字符转义 – 更多信息google'字符在regexp中转义')

你可以使用replacefunction。

我知道这是旧的,但如果你做一个拆分,然后join它将删除所有出现的特定字符,即:

 var str = theText.split('A').join('') 

将从string中删除所有出现的“A”,显然它不区分大小写

目前为止还没有人讨论过的另一种方法是从另一个string中产生string的substr方法…如果string已经定义了string的长度,并且字符的任何一端都被删除了,一些“静态维度”的string。