substringBeforeLast

Return the part of a string before the last occurrence of a specified substring.

Usage

var substringBeforeLast = require( '@stdlib/string/substring-before-last' );

substringBeforeLast( str, search )

Returns the part of a string before the last occurrence of a specified substring.

var str = 'Beep Boop Beep';
var out = substringBeforeLast( str, 'Beep' );
// returns 'Beep Boop '

out = substringBeforeLast( str, 'Boop' );
// returns 'Beep '

Notes

  • If a substring is not present in a provided string, the function returns the input string.
  • If provided an empty substring, the function returns the input string.

Examples

var substringBeforeLast = require( '@stdlib/string/substring-before-last' );

var str = 'beep boop';
var out = substringBeforeLast( str, ' ' );
// returns 'beep'

out = substringBeforeLast( str, 'e' );
// returns 'be'

out = substringBeforeLast( str, 'x' );
// returns 'beep boop'

out = substringBeforeLast( str, '' );
// returns 'beep boop'

CLI

Usage

Usage: substring-before-last [options] --search=<string> [<string>]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
         --search string       Search string.
         --split sep           Delimiter for stdin data. Default: '/\\r?\\n/'.

Notes

  • If the split separator is a regular expression, ensure that the split option is either properly escaped or enclosed in quotes.

    # Not escaped...
    $ echo -n $'foo\nbar\nbaz' | substring-before-last --search a --split /\r?\n/
    
    # Escaped...
    $ echo -n $'foo\nbar\nbaz' | substring-before-last --search a --split /\\r?\\n/
    
  • The implementation ignores trailing delimiters.

Examples

$ substring-before-last abcdefg --search d
abc

To use as a standard stream,

$ echo -n $'beep\nboop' | substring-before-last --search p
bee
boo

By default, when used as a standard stream, the implementation assumes newline-delimited data. To specify an alternative delimiter, set the split option.

$ echo -n 'beep\tboop' | substring-before-last --search p --split '\t'
bee
boo
Did you find this page helpful?