Nodejs String Split splitBy(delimiter)

Here you can find the source of splitBy(delimiter)

Method Source Code

String.prototype.splitBy = function (delimiter) {
  var //from  www .j  a v a  2  s  .c o  m
    delimiterPATTERN = '(' + delimiter + ')', 
    delimiterRE = new RegExp(delimiterPATTERN, 'g');
  
  return this.split(delimiterRE).reduce((chunks, item) => {
    if (item.match(delimiterRE)){
      chunks.push(item)
    } else {
      chunks[chunks.length - 1] += item
    };
    return chunks
  }, [])
}

Related

  1. split2(a, b)
    String.prototype.split2 = function(a, b) {
      var lines = this.split(a);
        for (var i = 0; i < lines.length; i++)
            lines.splice.apply(lines, [i, 1].concat(lines[i].split(b)));
        return lines;
    };
    String.prototype.lines = function() {
      return this.split2('\r', '\n');
    };
    ...
    
  2. split2(s)
    String.prototype.split2 = function(s) {
        var rg = this.split(s);
        if ((rg.length == 1) && (rg[0] === ''))
            return [];
        return rg;
    };
    
  3. splitANArguments()
    String.prototype.splitANArguments = function(){
      var r = [];
      var t = '';
      var isQuote = false;
      for(var i = 0; i < this.length; i++){
        if(!isQuote && this.charAt(i) == ' '){
          r.push(t);
          t = '';
        else{
          if(this.charAt(i) == '"'){
            t += this.charAt(i);
            isQuote = !isQuote;
          else{
            t += this.charAt(i);
      r.push(t);
      return r;
    
  4. splitAndTrim($delimiter, $limit)
    String.prototype.splitAndTrim = function ($delimiter, $limit) {
      var $ss = this.split($delimiter, $limit);
      for (var $i = 0; $i < $ss.length; $i++) {
        $ss[$i] = $ss[$i].trim();
      return $ss;
    };
    
  5. splitBy()
    String.prototype.splitBy = function(){
      return splitAll(this, Array.slice(arguments));
    };
    
  6. splitByNum(num)
    String.prototype.splitByNum = function(num){
      return this.split('').reduce((a,b)=>{
        const alen = a[a.length-1]
        alen.length%2==0&&alen.length!=0?a.push(b):a[a.length-1] = alen+b+''
        return a
      },[''])
    
  7. splitChars(len)
    String.prototype.splitChars = function(len) {
    a = this.split('');
    res = [];
    i = 0;
    [].forEach.call(a, function(b, c) {
      if (c % len == 0) {
        i++;
        res.push([])
      res[i - 1].push(b);
    });
    f = [];
    res.forEach(function(d) {
      f.push(d.join(''));
      return true;
    });
    g =f.join('\n');
    return g;
    };
    
  8. splitFirst(separator)
    String.prototype.splitFirst = function (separator) {
        var si = this.split(separator);
        var output = [];
        output.push(si[0]);
        if (si.length>1) {
            si.shift();
            output.push(si.join(separator));
        return output;
    ...
    
  9. splitFirst(x)
    String.prototype.splitFirst = function(x){
      var index = this.indexOf(x);
      return [
        this.substring(0, index),
        this.substring(index + x.length)
      ]
    };