从字符串中删除可能显示多次的字符

时间:2018-11-18 14:31:29

标签: javascript

我期待一个简单的解决方案,如何从特定的字符串中删除这些字符数组

const ignoreMe = ['a', 'b', 'c'];

因此,如果我的字符串包含这些字符之一,它将不包含它们而返回 示例:“ abcde”将返回“ de”,  *这些字符之一可能出现或不出现,甚至可能出现多次,因此我需要处理所有这些情况。

我当时正在考虑在字符串中的每个字符上运行,然后查看它是否等于它们中的一个,但我认为它太多了,有没有更简单的方法呢?

谢谢。

3 个答案:

答案 0 :(得分:1)

您可以将字符传递到正则表达式模式。请参阅以下解决方案。

var string = "abcde"
var result = string.replace(/^abc+/i, '')

console.log(result)

答案 1 :(得分:1)

使用数组方法,您可以将字符串split() Array#filter()并使用listed in their Github repository,然后将过滤后的数组重新加入字符串

var ignores = ['a', 'b', 'c'];
var str ='abcde';

var res = str.split('').filter(function(char){
   return !ignores.includes(char)
}).join('')

console.log(res)

答案 2 :(得分:0)

如果您有一个由单个字符组成的数组,则可以执行以下操作:

let str = 'aaaxxxbbbyyyccc';
const ignoreMe = ['a', 'b', 'c'];
const cleanStr = str.replace(new RegExp(`[${ignoreMe.join()}]`, 'g'), '');
console.log(cleanStr);