繁体   English   中英

javascript拆分功能

[英]javascript split function

我可以给JavaScript中的split函数提供多个参数,以删除多个东西并将其放入数组吗? 例如:

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

 var wordArray=str.split(" ");

这将分别给我每个字

除此结果外,我想从数组中删除“ is”“ this” ,所以我可以放入split函数many参数以从开头的““”是”“ this”中删除吗? 还是我应该使用split()以外的其他函数?

我不会尝试使用split从字符串中删除内容。 您应该使用“替换”将其删除,然后再拆分。

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

那应该删除“ is”和“ this”,然后可以从那里拆分它。

更新资料

稍微调整了正则表达式。 我忘记添加ag使其摆脱所有这些。

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

小提琴

String.split具有两个参数,一个分隔符和一个限制。 因此,基本上,您可以从结果数组的末尾删除条目(限制数组),但不能从开头删除条目。

在此处阅读更多信息: https : //developer.mozilla.org/zh-CN/docs/JavaScript/Reference/Global_Objects/String/split

但是,您可以将结果数组与其他数组原型链接在一起,因此可以轻松添加Array.splice来执行Array.splice的操作:

var wordArray = str.split(" ").splice(2);

如果要专门删除某些单词,请使用Array.filter

var wordArray = str.split(' ').filter(function(word) {
    return !/(is|this)/i.test(word);
});

有很多方法可以实现您想要的。 基本上你要删除

因此,您可以执行以下操作:

一种。 如果您要删除的单词始终是第一个和第二个,则

 var filteredArray = str.split(" ").splice(2);

b。 如果要删除的单词可以在字符串中的任何位置

var  filteredArray = str.replace(/this|is/g, function(w){

        switch(w){
           case 'this':
                 return '' ;

              case 'is':
                   return '';
          }

    }).trim().split(' ');

C。 还有另一种la脚的方式来做到这一点。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM