我可以在javascript中为split函数提供多个参数来删除多个东西并将其放入数组中吗?对于expamle:
var str= "This is Javascript String Split Function example ";
var wordArray=str.split(" ");
这将分别给我每个单词
除了这个结果,我想从数组中删除“是”和“this”,所以我可以在split函数中放入很多参数来删除从一开始“”& “是”& “这个”?或者我应该使用 split()之外的其他功能?
答案 0 :(得分:0)
我不会尝试使用split来删除字符串中的内容。您应该使用“替换”删除它们,然后拆分。
var wordArray = str.replace(/is|this/g, '').split(" ");
那应该删除“是”和“这个”然后你可以从那里拆分它。
稍微调整了正则表达式。我忘了添加一个g来让它摆脱所有这些。
如果您希望它不区分大小写(即匹配This,Is等),请在g之后添加i开关。
答案 1 :(得分:0)
String.split
有两个参数,分隔符和限制。所以基本上你可以从结果数组的末尾删除条目(限制数组),但不是从头开始。
在此处阅读更多内容:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/split
但是,您可以将结果数组与其他数组原型链接起来,这样您就可以轻松添加Array.splice
来执行您想要的操作:
var wordArray = str.split(" ").splice(2);
如果您想要专门删除某些字词,请使用Array.filter
:
var wordArray = str.split(' ').filter(function(word) {
return !/(is|this)/i.test(word);
});
答案 2 :(得分:0)
有很多方法可以达到你想要的效果。基本上你想删除是和这个
所以要么你可以这样做:
一个。如果你要删除的单词总是第一个和第二个,那么
var filteredArray = str.split(" ").splice(2);
湾如果要删除的单词可以在字符串中的任何位置
var filteredArray = str.replace(/this|is/g, function(w){
switch(w){
case 'this':
return '' ;
case 'is':
return '';
}
}).trim().split(' ');
℃。还有一种方法可以做到这一点。
var str= "This is Javascript String Split Function example ";
var parts = str.split(' ');
var clean = [];
for (var i = 0; i < parts.length; i++) {
var part = parts[i];
if (part !== "This" && part !=="is")
clean.push(part);
}
d。使用简单的正则表达式替换多个单词
var str= "This is Javascript String Split Function example ";
var words = ['This', 'is'];
var text = str.replace(new RegExp('(' + words.join('|') + ')', 'g'), '').split(' ');
根据您的需要,您可以选择其中任何一个。