Nodejs String Split splitLast(separator)

Here you can find the source of splitLast(separator)

Method Source Code

String.prototype.splitLast = function(separator) {
    var si = this.split(separator);
    var output = [];
    var last = si.pop();
    if (si.length > 0) {
        output.push(si.join(separator));
    }/*from  ww w . j  av a2  s  .co m*/
    if (last) {
        output.push(last);
    }
    return output;
};

Related

  1. splitBy(delimiter)
    String.prototype.splitBy = function (delimiter) {
      var 
        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
    ...
    
  2. 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
      },[''])
    
  3. 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;
    };
    
  4. 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;
    ...
    
  5. splitFirst(x)
    String.prototype.splitFirst = function(x){
      var index = this.indexOf(x);
      return [
        this.substring(0, index),
        this.substring(index + x.length)
      ]
    };
    
  6. splitLength(size)
    String.prototype.splitLength = function(size) {
        var regex = new RegExp('.{1,' + size + '}', 'g');
        return this.match(regex);
    };
    
  7. splitLines(splitOptions = removeEmptyEntries: true, trim: true })
    String.prototype.splitLines = function (splitOptions = { removeEmptyEntries: true, trim: true }) {
        let lines = this.split(/\r?\n/g);
        if (splitOptions && splitOptions.trim) {
            lines = lines.filter(line => line.trim());
        if (splitOptions && splitOptions.removeEmptyEntries) {
            lines = lines.filter(line => line.length > 0);
        return lines;
    ...
    
  8. splitOnce(delimiter)
    String.prototype.splitOnce = function (delimiter) {
        var components = this.split(delimiter);
        return [components.shift(), components.join(delimiter)];
    };
    if (!String.prototype.endsWith) {
      String.prototype.endsWith = function(searchString, position) {
          var subjectString = this.toString();
          if (position === undefined || position > subjectString.length) {
              position = subjectString.length;
    ...
    
  9. splitOnce(regex)
    String.prototype.splitOnce = function (regex) {
        var match = this.match(regex);
        if (match) {
            var match_i = this.indexOf(match[0]);
            return [this.substring(0, match_i),
            this.substring(match_i + match[0].length)];
        } else {
            return [this, ""];