function replaceAfterLast( str, search, replacement, fromIndex ) {
	var idx;
	if ( fromIndex < 0 ) {
		fromIndex += str.length;
		if ( fromIndex < 0 ) {
			return str;
		}
	}
	idx = str.lastIndexOf( search, fromIndex );
	if ( str === '' || search === '' || replacement === '' || idx < 0 ) {
		return str;
	}
	return str.substring( 0, idx + search.length ) + replacement;
}
Replaces the substring after the last occurrence of a specified search string.

@param {string} str - input string
@param {string} search - search string
@param {string} replacement - replacement string
@param {integer} fromIndex - index from which to start searching
@returns {string} string

@example
var str = 'beep boop';
var out = replaceAfterLast( str, ' ', 'foo', str.length );
// returns 'beep foo'

@example
var str = 'beep boop';
var out = replaceAfterLast( str, 'p', 'foo', str.length );
// returns 'beep boopfoo'

@example
var str = 'Hello World!';
var out = replaceAfterLast( str, '', 'foo',  str.length );
// returns 'Hello World!'

@example
var str = 'Hello World!';
var out = replaceAfterLast( str, 'xyz', 'foo', str.length );
// returns 'Hello World!'

@example
var str = 'beep boop baz';
var out = replaceAfterLast( str, 'p b', 'foo', str.length );
// returns 'beep boop bfoo'

@example
var str = 'beep boop baz';
var out = replaceAfterLast( str, 'p b', 'foo', 6 );
// returns 'beep bfoo'