public static int NextNonIdChar(String str,int col){
  int curCol=col;
  char c=str.charAt(col);
  while ((curCol < str.length()) && (Character.isLetter(c) || Character.isDigit(c) || (c == '_'))) {
    curCol++;
    if (curCol < str.length()) {
      c=str.charAt(curCol);
    }
  }
  return curCol;
}

public static int NextNonIdChar ( String str , int col ) { int curCol = col ; char c = str . charAt ( col ) ; while ( ( curCol < str . length ( ) ) && ( Character . isLetter ( c ) || Character . isDigit ( c ) || ( c == '_' ) ) ) { curCol ++ ; if ( curCol < str . length ( ) ) { c = str . charAt ( curCol ) ; } } return curCol ; }
returns the position of the first character not a letter , number , or " _ " at or after position col in str , or str . size ( ) if there is none .
