jetbrick-commons/src/main/java/jetbrick/lang/StringUtils.java
public static String removeStartIgnoreCase(final String s, final String remove) {
        if (isEmpty(s) || isEmpty(remove)) {
            return s;
        }
        if (startsWithIgnoreCase(s, remove)) {
            return s.substring(remove.length());
        }
        return s;
    }
public static String removeStartIgnoreCase(final String s, final String remove) {
        if (isEmpty(s) || isEmpty(remove)) {
            return s;
        }
        if (startsWithIgnoreCase(s, remove)) {
            return s.substring(remove.length());
        }
        return s;
    }
<p>
Case insensitive removal of a substring if it is at the beginning of a
source string, otherwise returns the source string.
</p>

<p>
A {@code null} source string will return {@code null}. An empty ("")
source string will return the empty string. A {@code null} search string
will return the source string.
</p>

<pre>
StringUtils.removeStartIgnoreCase(null, *)      = null
StringUtils.removeStartIgnoreCase("", *)        = ""
StringUtils.removeStartIgnoreCase(*, null)      = *
StringUtils.removeStartIgnoreCase("www.domain.com", "www.")   = "domain.com"
StringUtils.removeStartIgnoreCase("www.domain.com", "WWW.")   = "domain.com"
StringUtils.removeStartIgnoreCase("domain.com", "www.")       = "domain.com"
StringUtils.removeStartIgnoreCase("www.domain.com", "domain") = "www.domain.com"
StringUtils.removeStartIgnoreCase("abc", "")    = "abc"
</pre>