Don't you store the first (right-most) character of Hebrew text in position 0 of the String, and so on, and then tell the display components to display your data from right to left? If you did that then an ordinary StringTokenizer would work.
If you don't, then why not? Are you trying to work around some problem? (I could certainly believe that.)