javascript分割功能

时间:2012-12-11 10:44:50

标签: javascript split

我可以在javascript中为split函数提供多个参数来删除多个东西并将其放入数组中吗?对于expamle:

 var str= "This is Javascript String Split Function example ";

 var wordArray=str.split(" ");

这将分别给我每个单词

除了这个结果,我想从数组中删除“是”“this”,所以我可以在split函数中放入很多参数来删除从一开始“”& “是”& “这个”?或者我应该使用 split()之外的其他功能?

3 个答案:

答案 0 :(得分:0)

我不会尝试使用split来删除字符串中的内容。您应该使用“替换”删除它们,然后拆分。

var wordArray = str.replace(/is|this/g, '').split(" ");

那应该删除“是”和“这个”然后你可以从那里拆分它。

更新

稍微调整了正则表达式。我忘了添加一个g来让它摆脱所有这些。

如果您希望它不区分大小写(即匹配This,Is等),请在g之后添加i开关。

FIDDLE

答案 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(' '); 

根据您的需要,您可以选择其中任何一个。

参考:thisthisthis