public static int lastIndexOfIgnoreCase(String src,char c,int startIndex,int endIndex){
  int total=src.length() - 1;
  if (total < 0) {
    return -1;
  }
  if (startIndex >= total) {
    startIndex=total;
  }
  if (endIndex < 0) {
    endIndex=0;
  }
  c=Character.toLowerCase(c);
  for (int i=startIndex; i >= endIndex; i--) {
    if (Character.toLowerCase(src.charAt(i)) == c) {
      return i;
    }
  }
  return -1;
}

public static int lastIndexOfIgnoreCase ( String src , char c , int startIndex , int endIndex ) { int total = src . length ( ) - 1 ; if ( total < 0 ) { return - 1 ; } if ( startIndex >= total ) { startIndex = total ; } if ( endIndex < 0 ) { endIndex = 0 ; } c = Character . toLowerCase ( c ) ; for ( int i = startIndex ; i >= endIndex ; i -- ) { if ( Character . toLowerCase ( src . charAt ( i ) ) == c ) { return i ; } } return - 1 ; }
finds last index of a character in the given source string in specified range [ end , start ]
