public static String substringAfterLast(String str, String separator) {
        if (isEmpty(str)) {
            return str;
        }
        if (isEmpty(separator)) {
            return EMPTY;
        }
        int pos = str.lastIndexOf(separator);
        if (pos == INDEX_NOT_FOUND || pos == str.length() - separator.length()) {
            return EMPTY;
        }
        return str.substring(pos + separator.length());
    }
<p>Gets the substring after the last occurrence of a separator.
The separator is not returned.</p>

<p>A {@code null} string input will return {@code null}.
An empty ("") string input will return the empty string.
An empty or {@code null} separator will return the empty string if
the input string is not {@code null}.</p>

<p>If nothing is found, the empty string is returned.</p>

<pre>
StringUtils.substringAfterLast(null, *)      = null
StringUtils.substringAfterLast("", *)        = ""
StringUtils.substringAfterLast(*, "")        = ""
StringUtils.substringAfterLast(*, null)      = ""
StringUtils.substringAfterLast("abc", "a")   = "bc"
StringUtils.substringAfterLast("abcba", "b") = "a"
StringUtils.substringAfterLast("abc", "c")   = ""
StringUtils.substringAfterLast("a", "a")     = ""
StringUtils.substringAfterLast("a", "z")     = ""
</pre>

@param str  the String to get a substring from, may be null
@param separator  the String to search for, may be null
@return the substring after the last occurrence of the separator,
 {@code null} if null String input
@since 2.0
android/android_framework/base/src/main/java/lang3/StringUtils.java