private static final int find ( boolean skipBlocks , String s , char toFind , int from ) { int open = 0 ; boolean escaping = false ; for ( int i = from ; i < s . length ( ) ; i ++ ) { if ( escaping ) { escaping = false ; continue ; } char c = s . charAt ( i ) ; if ( c == ' ' ) { escaping = true ; continue ; } if ( ( open == 0 ) && ( c == toFind ) ) { return i ; } else if ( skipBlocks && ( c == ' ' ) ) { open ++ ; } else if ( skipBlocks && ( c == ' ' ) ) { open -- ; } } return - 1 ; }
Beware with the current algorithm this function cannot find \