我期待一个简单的解决方案,如何从特定的字符串中删除这些字符数组
const ignoreMe = ['a', 'b', 'c'];
因此,如果我的字符串包含这些字符之一,它将不包含它们而返回 示例:“ abcde”将返回“ de”, *这些字符之一可能出现或不出现,甚至可能出现多次,因此我需要处理所有这些情况。
我当时正在考虑在字符串中的每个字符上运行,然后查看它是否等于它们中的一个,但我认为它太多了,有没有更简单的方法呢?
谢谢。
答案 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);