replaceBeforeLast

Replace the substring before the last occurrence of a specified search string.

Usage

var replaceBeforeLast = require( '@stdlib/string/base/replace-before-last' );

replaceBeforeLast( str, search, replacement, fromIndex )

Replaces the substring before the last occurrence of a specified search string.

var str = 'beep boop';
var out = replaceBeforeLast( str, ' ', 'loop', str.length );
// returns 'loop boop'

out = replaceBeforeLast( str, 'o', 'bar', str.length );
// returns 'barop'

To begin searching from a specific index, provide a corresponding fromIndex argument.

var out = replaceBeforeLast( 'beep boop beep', ' ', 'loop', 5 );
// returns 'loop boop beep'

If fromIndex is less than zero, the starting index is resolved relative to the last string character, with the last string character corresponding to fromIndex = -1.

var out = replaceBeforeLast( 'beep boop beep', ' ', 'loop', -1 );
// returns 'loop beep'

Notes

  • If a search string is not present in a provided string, the function returns the provided string unchanged.
  • If a search string is an empty string, the function returns the provided string unchanged.
  • If fromIndex resolves to an index which is less than 0, the function returns the provided string unchanged.

Examples

var replaceBeforeLast = require( '@stdlib/string/base/replace-before-last' );

var str = 'beep boop';
var out = replaceBeforeLast( str, 'p', 'see', str.length );
// returns 'seep'

str = 'Hello World!';
out = replaceBeforeLast( str, 'xyz', 'foo', str.length );
// returns 'Hello World!'

str = 'Hello World!';
out = replaceBeforeLast( str, '', 'foo', str.length );
// returns 'Hello World!'

str = '';
out = replaceBeforeLast( str, 'xyz', 'foo', str.length );
// returns ''
Did you find this page helpful?