快速提问。
让我说我有:
var specialthings = ['special1','special2','special3'];
var alotoftext = ['randomTextButHereIHavespecial1orspecial2orspecial3']
我的目标是从specialthings
分隔alotoftext
。因此结果将是new var
或alot of text
(对我而言)等于:
var newvar or var alotoftext = ['randomTextButHereIHaveor']
基本上要移除special1
special2
和special3
。
如果案例是数字,我不想要像0-9这样的卸妆器,而是一个将一个字符串的值与另一个字符串分开的函数 - 就像这样:
var new = alotoftext - specialthings
一种方法。
答案 0 :(得分:2)
您可以使用要移除的管道形成一个新的regex
分隔所有单词,然后在阵列上使用.map
来替换所有出现的内容。
var specialthings = ['special1','special2','special3'];
var alotoftext = ['randomTextButHereIHavespecial1orspecial2orspecial3']
var re = new RegExp(specialthings.join("|"),"g");
var newText = alotoftext.map(el => el.replace(re, ""));
console.log(newText);
答案 1 :(得分:0)
使用map
和RegExp
var output = alotoftext.map( s => s.replace( new RegExp( specialthings.join( "|" ), "g" ), "" ) )
<强>演示强>
var specialthings = ['special1','special2','special3'];
var alotoftext = ['randomTextButHereIHavespecial1orspecial2orspecial3'];
var output = alotoftext.map( s => s.replace( new RegExp( specialthings.join( "|" ), "g" ), "" ) );
console.log( output );
&#13;