根据文本拆分字符串AND,不是吗?

时间:2017-05-02 16:57:08

标签: javascript jquery

我的字符串如下:

var  str ='video AND music NOT movie AND moble NOT laptop';

以上字符串在AND和NOT之后拆分并存储在2个不同的数组中。

在不同数组中的AND文本之后。

不动态地发送不同的数组。

输出看起来像

["video","music","mobile"],["movie","laptop"]

2 个答案:

答案 0 :(得分:1)

function haveAndNots(str) {
  var nots = [];
  str = str.replace(/NOT (\w+)/g, function(m, c) {
    nots.push(c);
    return '';
  });

  return {
    have: str.split('AND').map(str => str.trim()),
    nots: nots
  }
}

var str = 'video AND music NOT movie AND mobile NOT laptop';
var split = haveAndNots(str);
console.log(split.have);
console.log(split.nots);

答案 1 :(得分:-1)

使用分割功能。



var str = 'video AND music NOT movie AND moble NOT laptop';
var strAnd = [];
var strNot = [];
var temp = str.split(' ');
$.each(temp, function(key, value) {
  if (value === 'AND') {
    strAnd.push(temp[key + 1])
  } else if (value === 'NOT') {
    strNot.push(temp[key + 1])
  }
});
console.log(strAnd,strNot);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;