static int findFirstNotOf(String searchIn, String searchFor, int searchFrom) {
    boolean found;
    char c;
    int i;
    for (i = searchFrom; i < searchIn.length(); i++) {
        found = true;
        c = searchIn.charAt(i);
            System.out.printf("s='%s', idx=%d\n",c,searchFor.indexOf(c));
            if (searchFor.indexOf(c) == -1) {
                found = false;
            }
        if (!found) {
            return i;
        }
    }
    return i;
}
static int findLastNotOf(String searchIn, String searchFor, int searchFrom) {
    boolean found;
    char c;
    int i;
    for ( i = searchFrom; i>=0; i--) {
        found = true;
        c = searchIn.charAt(i);
            System.out.printf("s='%s', idx=%d\n",c,searchFor.indexOf(c));
            if (searchFor.indexOf(c) == -1) 
                found = false;
        if (!found)  return i;
    }
    return i;
}
public static void main(String[] args){
    String str =  "look for non-alphabetic characters...";
     int  found = findFirstNotOf(str,"abcdefghijklmnopqrstuvwxyz ",0);
      if (found!=str.length()) {
        System.out.print("The first non-alphabetic character is " + str.charAt(found));
        System.out.print(" at position " + found + '\n');
      }
      found = findLastNotOf(str,"abcdefghijklmnopqrstuvwxyz ",str.length()-1);
      if (found>=0) {
            System.out.print("The last non-alphabetic character is " + str.charAt(found));
            System.out.print(" at position " + found + '\n');
          }
      str = "Please, erase trailing white-spaces   \n";
      String whitespaces =  " \t\f\n\r";
      found = findLastNotOf(str,whitespaces,str.length()-1);
      if (found!=str.length()-1)
        str = str.substring(0,found+1);
      else
        str = "";            // str is all whitespace
     System.out.printf('['+ str +"]\n");
}