code: public static int indexOfIgnoreCase(String text, String str, int startIndex) {
          Matcher m = Pattern.compile(Pattern.quote(str), Pattern.CASE_INSENSITIVE).matcher(text);
          return m.find(startIndex) ? m.start() : -1;
      }
docs: Case insensitive version of {@link String#indexOf(java.lang.String, int)}. Equivalent to
  {@code text.indexOf(str, startIndex)}, except the matching is case insensitive.